diff options
| author | Parav Pandit <parav@mellanox.com> | 2020-05-01 17:42:45 +0300 |
|---|---|---|
| committer | Saeed Mahameed <saeedm@mellanox.com> | 2020-05-16 01:44:20 +0300 |
| commit | 41798df9bfca5aae080a66252ae1709867e28757 (patch) | |
| tree | 8a41589ae954b9656c8f7b8b9005ed6799ef4502 | |
| parent | 4162f58b476b248d0718f3d6aad2e57da2b08a63 (diff) | |
| download | linux-41798df9bfca5aae080a66252ae1709867e28757.tar.xz | |
net/mlx5: Drain wq first during PCI device removal
mlx5_unload_one() is done with cleanup = true only once.
So instead of doing health wq drain inside the if(), directly do
during PCI device removal.
Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Moshe Shemesh <moshe@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
| -rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/main.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c index 2e128068a48c..d6a8128f667a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -1236,10 +1236,8 @@ out: void mlx5_unload_one(struct mlx5_core_dev *dev, bool cleanup) { - if (cleanup) { + if (cleanup) mlx5_unregister_device(dev); - mlx5_drain_health_wq(dev); - } mutex_lock(&dev->intf_state_mutex); if (!test_bit(MLX5_INTERFACE_STATE_UP, &dev->intf_state)) { @@ -1382,6 +1380,7 @@ static void remove_one(struct pci_dev *pdev) mlx5_crdump_disable(dev); mlx5_devlink_unregister(devlink); + mlx5_drain_health_wq(dev); mlx5_unload_one(dev, true); mlx5_pci_close(dev); mlx5_mdev_uninit(dev); |
