Browse Source

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>
Ilan Tayari 8 năm trước cách đây
mục cha
commit
9ade8c7c3c

+ 3 - 2
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;
 		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))
 	if (mlx5_device_registered(dev))
 		mlx5_detach_device(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);
 	mlx5_cmd_cleanup(dev);
 
 
 out:
 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);
 	mutex_unlock(&dev->intf_state_mutex);
 	return err;
 	return err;
 }
 }