mlx4_en: Fix crash upon device initialization error
Netdevice was being freed without being unregistered first if mlx4_SET_PORT_general or mlx4_INIT_PORT failed. Signed-off-by: Alexander Guller <alexg@mellanox.co.il> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
999bb4b383
commit
4234144f5c
@@ -1097,6 +1097,7 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
|
|||||||
en_err(priv, "Netdev registration failed for port %d\n", port);
|
en_err(priv, "Netdev registration failed for port %d\n", port);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
priv->registered = 1;
|
||||||
|
|
||||||
en_warn(priv, "Using %d TX rings\n", prof->tx_ring_num);
|
en_warn(priv, "Using %d TX rings\n", prof->tx_ring_num);
|
||||||
en_warn(priv, "Using %d RX rings\n", prof->rx_ring_num);
|
en_warn(priv, "Using %d RX rings\n", prof->rx_ring_num);
|
||||||
@@ -1118,7 +1119,6 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
|
|||||||
en_err(priv, "Failed Initializing port\n");
|
en_err(priv, "Failed Initializing port\n");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
priv->registered = 1;
|
|
||||||
mlx4_en_set_default_moderation(priv);
|
mlx4_en_set_default_moderation(priv);
|
||||||
queue_delayed_work(mdev->workqueue, &priv->stats_task, STATS_DELAY);
|
queue_delayed_work(mdev->workqueue, &priv->stats_task, STATS_DELAY);
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user