summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@nvidia.com>2021-11-01 14:49:20 -0300
committerJason Gunthorpe <jgg@nvidia.com>2021-11-01 14:49:20 -0300
commita2a2a69d144d66e0c36697da062b3949e3c2c870 (patch)
tree3849e66b693137506434a1a8f579963c626e33b6 /drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c
parent9ed8110c9b298cf143a8abc6dab975547da72888 (diff)
parent8bb7eca972ad531c9b149c0a51ab43a417385813 (diff)
downloadlinux-stable-a2a2a69d144d66e0c36697da062b3949e3c2c870.tar.gz
linux-stable-a2a2a69d144d66e0c36697da062b3949e3c2c870.tar.bz2
linux-stable-a2a2a69d144d66e0c36697da062b3949e3c2c870.zip
Merge tag 'v5.15' into rdma.git for-next
Pull in the accepted for-rc patches as the next merge needs a newer base. Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c b/drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c
index f239b352a58a..21fdaf708f1f 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c
@@ -9,20 +9,23 @@
#include "eswitch.h"
#include "lib/mlx5.h"
+static bool __mlx5_lag_is_multipath(struct mlx5_lag *ldev)
+{
+ return !!(ldev->flags & MLX5_LAG_FLAG_MULTIPATH);
+}
+
static bool mlx5_lag_multipath_check_prereq(struct mlx5_lag *ldev)
{
if (!mlx5_lag_is_ready(ldev))
return false;
+ if (__mlx5_lag_is_active(ldev) && !__mlx5_lag_is_multipath(ldev))
+ return false;
+
return mlx5_esw_multipath_prereq(ldev->pf[MLX5_LAG_P1].dev,
ldev->pf[MLX5_LAG_P2].dev);
}
-static bool __mlx5_lag_is_multipath(struct mlx5_lag *ldev)
-{
- return !!(ldev->flags & MLX5_LAG_FLAG_MULTIPATH);
-}
-
bool mlx5_lag_is_multipath(struct mlx5_core_dev *dev)
{
struct mlx5_lag *ldev;