net/mlx5: Make load_one() and unload_one() symmetric
authorParav Pandit <parav@mellanox.com>
Mon, 29 Jul 2019 21:12:58 +0000 (21:12 +0000)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 1 Aug 2019 18:14:25 +0000 (11:14 -0700)
Currently mlx5_load_one() perform device registration using
mlx5_register_device(). But mlx5_unload_one() doesn't unregister.

Make them symmetric by doing device unregistration in
mlx5_unload_one().

Signed-off-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/main.c

index b15b27a497fc3fe20b8a9cb9e1b435183fc17707..fa0e991f19835e433133853589c991ae9436f2f0 100644 (file)
@@ -1217,8 +1217,10 @@ static int mlx5_unload_one(struct mlx5_core_dev *dev, bool cleanup)
 {
        int err = 0;
 
-       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)) {
@@ -1369,7 +1371,6 @@ static void remove_one(struct pci_dev *pdev)
 
        mlx5_crdump_disable(dev);
        mlx5_devlink_unregister(devlink);
-       mlx5_unregister_device(dev);
 
        if (mlx5_unload_one(dev, true)) {
                mlx5_core_err(dev, "mlx5_unload_one failed\n");