Commit 47bf2e813817 for kernel

commit 47bf2e813817159f4d195be83a9b5a640ee6baec
Author: Shay Drory <shayd@nvidia.com>
Date:   Wed Feb 18 09:28:59 2026 +0200

    net/mlx5: Fix multiport device check over light SFs

    Driver is using num_vhca_ports capability to distinguish between
    multiport master device and multiport slave device. num_vhca_ports is a
    capability the driver sets according to the MAX num_vhca_ports
    capability reported by FW. On the other hand, light SFs doesn't set the
    above capbility.

    This leads to wrong results whenever light SFs is checking whether he is
    a multiport master or slave.

    Therefore, use the MAX capability to distinguish between master and
    slave devices.

    Fixes: e71383fb9cd1 ("net/mlx5: Light probe local SFs")
    Signed-off-by: Shay Drory <shayd@nvidia.com>
    Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
    Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
    Reviewed-by: Jacob Keller <Jacob.e.keller@intel.com>
    Link: https://patch.msgid.link/20260218072904.1764634-2-tariqt@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h
index e2d067b1e67b..04dcd09f7517 100644
--- a/include/linux/mlx5/driver.h
+++ b/include/linux/mlx5/driver.h
@@ -1282,12 +1282,12 @@ static inline bool mlx5_rl_is_supported(struct mlx5_core_dev *dev)
 static inline int mlx5_core_is_mp_slave(struct mlx5_core_dev *dev)
 {
 	return MLX5_CAP_GEN(dev, affiliate_nic_vport_criteria) &&
-	       MLX5_CAP_GEN(dev, num_vhca_ports) <= 1;
+	       MLX5_CAP_GEN_MAX(dev, num_vhca_ports) <= 1;
 }

 static inline int mlx5_core_is_mp_master(struct mlx5_core_dev *dev)
 {
-	return MLX5_CAP_GEN(dev, num_vhca_ports) > 1;
+	return MLX5_CAP_GEN_MAX(dev, num_vhca_ports) > 1;
 }

 static inline int mlx5_core_mp_enabled(struct mlx5_core_dev *dev)