net/mlx5: E-switch, Destroy TSAR after reload interface
authorParav Pandit <parav@mellanox.com>
Sat, 27 Jun 2020 10:11:56 +0000 (13:11 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Tue, 28 Jul 2020 19:55:30 +0000 (12:55 -0700)
When eswitch offloads is enabled, TSAR is created before reloading
the interfaces.
However when eswitch offloads mode is disabled, TSAR is disabled before
reloading the interfaces.

To keep the eswitch enable/disable sequence as mirror, destroy TSAR
after reloading the interfaces.

Fixes: 1bd27b11c1df ("net/mlx5: Introduce E-switch QoS management")
Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c

index 9701f0f8be50bb1f7d276a7b99365e4e6459fe49..d9376627584e90d8699eb975e178cd42e1f203ce 100644 (file)
@@ -1653,8 +1653,6 @@ void mlx5_eswitch_disable_locked(struct mlx5_eswitch *esw, bool clear_vf)
        else if (esw->mode == MLX5_ESWITCH_OFFLOADS)
                esw_offloads_disable(esw);
 
-       esw_destroy_tsar(esw);
-
        old_mode = esw->mode;
        esw->mode = MLX5_ESWITCH_NONE;
 
@@ -1664,6 +1662,8 @@ void mlx5_eswitch_disable_locked(struct mlx5_eswitch *esw, bool clear_vf)
                mlx5_reload_interface(esw->dev, MLX5_INTERFACE_PROTOCOL_IB);
                mlx5_reload_interface(esw->dev, MLX5_INTERFACE_PROTOCOL_ETH);
        }
+       esw_destroy_tsar(esw);
+
        if (clear_vf)
                mlx5_eswitch_clear_vf_vports_info(esw);
 }