summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorIlan Tayari2017-05-25 07:42:07 +0200
committerSaeed Mahameed2017-06-27 15:36:47 +0200
commit9ade8c7c3c6feb2c477bc20b3458b5edbcf4a87e (patch)
tree13178d1aae7778082a6af768bab7cdaca3366f03 /drivers/net/ethernet
parentnet/mlx4: fix spelling mistake: "coalesing" -> "coalescing" (diff)
downloadkernel-qcow2-linux-9ade8c7c3c6feb2c477bc20b3458b5edbcf4a87e.tar.gz
kernel-qcow2-linux-9ade8c7c3c6feb2c477bc20b3458b5edbcf4a87e.tar.xz
kernel-qcow2-linux-9ade8c7c3c6feb2c477bc20b3458b5edbcf4a87e.zip
net/mlx5: Set interface flags before cleanup in unload_one
In load_one, the interface flags are changed from down to up, only after initializing the interfaces. In unload_one, the flags are changed from up to down before the interface cleanup. Change the cleanup order to be opposite to initialization order. This fixes flag consistency between init and cleanup. Signed-off-by: Ilan Tayari <ilant@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c
index c7f75e12c13b..9a5a475d9e00 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
@@ -1254,6 +1254,9 @@ static int mlx5_unload_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv,
goto out;
}
+ clear_bit(MLX5_INTERFACE_STATE_UP, &dev->intf_state);
+ set_bit(MLX5_INTERFACE_STATE_DOWN, &dev->intf_state);
+
if (mlx5_device_registered(dev))
mlx5_detach_device(dev);
@@ -1282,8 +1285,6 @@ static int mlx5_unload_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv,
mlx5_cmd_cleanup(dev);
out:
- clear_bit(MLX5_INTERFACE_STATE_UP, &dev->intf_state);
- set_bit(MLX5_INTERFACE_STATE_DOWN, &dev->intf_state);
mutex_unlock(&dev->intf_state_mutex);
return err;
}