X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Fethernet%2Fmellanox%2Fmlx5%2Fcore%2Flag.c;fp=drivers%2Fnet%2Fethernet%2Fmellanox%2Fmlx5%2Fcore%2Flag.c;h=4a4e9b228ba02ffb4c58c5c6cef9cf38d8fdf13b;hb=8ed19471fdaad266225aa15f8e2626a7a3265504;hp=6642ff0115f8f31e5a4e4a969cd91f3e5ffb49e7;hpb=8c22ad36eefa5e1c4af0d653d385041527d7b7b9;p=linux-2.6-microblaze.git diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag.c index 6642ff0115f8..4a4e9b228ba0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag.c @@ -258,6 +258,10 @@ static void mlx5_lag_add_devices(struct mlx5_lag *ldev) if (!ldev->pf[i].dev) continue; + if (ldev->pf[i].dev->priv.flags & + MLX5_PRIV_FLAGS_DISABLE_ALL_ADEV) + continue; + ldev->pf[i].dev->priv.flags &= ~MLX5_PRIV_FLAGS_DISABLE_IB_ADEV; mlx5_rescan_drivers_locked(ldev->pf[i].dev); } @@ -286,8 +290,10 @@ static void mlx5_disable_lag(struct mlx5_lag *ldev) roce_lag = __mlx5_lag_is_roce(ldev); if (roce_lag) { - dev0->priv.flags |= MLX5_PRIV_FLAGS_DISABLE_IB_ADEV; - mlx5_rescan_drivers_locked(dev0); + if (!(dev0->priv.flags & MLX5_PRIV_FLAGS_DISABLE_ALL_ADEV)) { + dev0->priv.flags |= MLX5_PRIV_FLAGS_DISABLE_IB_ADEV; + mlx5_rescan_drivers_locked(dev0); + } mlx5_nic_vport_disable_roce(dev1); }