mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
net/mlx5: E-Switch, align disable sequence with switchdev-to-legacy transition
This patch align the eswitch disable sequence with the switchdev-to-legacy mode transition, where eswitch must be disabled before device detachment. The consistent ordering is required for proper SD LAG cleanup which depends on eswitch state during teardown. Signed-off-by: Shay Drory <shayd@nvidia.com> Reviewed-by: Mark Bloch <mbloch@nvidia.com> Signed-off-by: Tariq Toukan <tariqt@nvidia.com> Link: https://patch.msgid.link/20260531113954.395443-3-tariqt@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
cf6c4c0508
commit
b48b6308df
|
|
@ -1369,7 +1369,6 @@ static int mlx5_load(struct mlx5_core_dev *dev)
|
|||
|
||||
static void mlx5_unload(struct mlx5_core_dev *dev)
|
||||
{
|
||||
mlx5_eswitch_disable(dev->priv.eswitch);
|
||||
mlx5_devlink_traps_unregister(priv_to_devlink(dev));
|
||||
mlx5_vhca_event_stop(dev);
|
||||
mlx5_sf_dev_table_destroy(dev);
|
||||
|
|
@ -1484,6 +1483,7 @@ void mlx5_uninit_one(struct mlx5_core_dev *dev)
|
|||
|
||||
mlx5_hwmon_dev_unregister(dev);
|
||||
mlx5_crdump_disable(dev);
|
||||
mlx5_eswitch_disable(dev->priv.eswitch);
|
||||
mlx5_unregister_device(dev);
|
||||
|
||||
if (!test_bit(MLX5_INTERFACE_STATE_UP, &dev->intf_state)) {
|
||||
|
|
@ -1568,6 +1568,7 @@ void mlx5_unload_one_devl_locked(struct mlx5_core_dev *dev, bool suspend)
|
|||
devl_assert_locked(priv_to_devlink(dev));
|
||||
mutex_lock(&dev->intf_state_mutex);
|
||||
|
||||
mlx5_eswitch_disable(dev->priv.eswitch);
|
||||
mlx5_detach_device(dev, suspend);
|
||||
|
||||
if (!test_bit(MLX5_INTERFACE_STATE_UP, &dev->intf_state)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user