summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox
diff options
context:
space:
mode:
authorAviv Heller2018-12-18 18:03:27 +0100
committerSaeed Mahameed2018-12-20 14:06:03 +0100
commita64917446eafc7212e962561622d697fce04e9a6 (patch)
treebbb9368f43ba52a43568b6165dc603d65c604fc1 /drivers/net/ethernet/mellanox
parentnet/mlx5: Fix query_nic_sys_image_guid() error during init (diff)
downloadkernel-qcow2-linux-a64917446eafc7212e962561622d697fce04e9a6.tar.gz
kernel-qcow2-linux-a64917446eafc7212e962561622d697fce04e9a6.tar.xz
kernel-qcow2-linux-a64917446eafc7212e962561622d697fce04e9a6.zip
net/mlx5: Fix LAG requirement when CONFIG_MLX5_ESWITCH is off
If CONFIG_MLX5_ESWITCH is not defined, test for SR-IOV being disabled, instead of calling e-switch LAG prereq routine. Since LAG with SRIOV is allowed only when switchdev mode is on. Fixes: eff849b2c669 ("net/mlx5: Allow/disallow LAG according to pre-req only") Signed-off-by: Aviv Heller <avivh@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/lag.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag.c
index 5187dc7a72a3..3a6baed722d8 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag.c
@@ -291,12 +291,15 @@ static int mlx5_deactivate_lag(struct mlx5_lag *ldev)
static bool mlx5_lag_check_prereq(struct mlx5_lag *ldev)
{
- if (ldev->pf[0].dev &&
- ldev->pf[1].dev &&
- mlx5_esw_lag_prereq(ldev->pf[0].dev, ldev->pf[1].dev))
- return true;
- else
+ if (!ldev->pf[0].dev || !ldev->pf[1].dev)
return false;
+
+#ifdef CONFIG_MLX5_ESWITCH
+ return mlx5_esw_lag_prereq(ldev->pf[0].dev, ldev->pf[1].dev);
+#else
+ return (!mlx5_sriov_is_enabled(ldev->pf[0].dev) &&
+ !mlx5_sriov_is_enabled(ldev->pf[1].dev));
+#endif
}
static void mlx5_lag_add_ib_devices(struct mlx5_lag *ldev)