OSDN Git Service

net/mlx5: E-Switch, Disable esw manager vport correctly
authorBodong Wang <bodong@mellanox.com>
Mon, 18 Feb 2019 03:04:42 +0000 (21:04 -0600)
committerSaeed Mahameed <saeedm@mellanox.com>
Tue, 19 Feb 2019 22:15:04 +0000 (14:15 -0800)
When disabling vport, relevant vport configurations will be cleaned
up. These cleanups should be done to the vports which had these configs
applied at vport enablement. As esw manager vport didn't have such
vport config applied, cleanup should not touch it.

Fixes: de9e6a8136c5 ("net/mlx5: E-Switch, Properly refer to host PF vport as other vport")
Signed-off-by: Bodong Wang <bodong@mellanox.com>
Reported-by: Eli Britstein <elibr@mellanox.com>
Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c

index d4f6859..6cb9710 100644 (file)
@@ -1606,7 +1606,8 @@ static void esw_disable_vport(struct mlx5_eswitch *esw,
        esw_vport_change_handle_locked(vport);
        vport->enabled_events = 0;
        esw_vport_disable_qos(esw, vport_num);
-       if (esw->mode == SRIOV_LEGACY) {
+       if (esw->manager_vport != vport_num &&
+           esw->mode == SRIOV_LEGACY) {
                mlx5_modify_vport_admin_state(esw->dev,
                                              MLX5_VPORT_STATE_OP_MOD_ESW_VPORT,
                                              vport_num, 1,