mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 12:35:52 +02:00
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: e71383fb9c ("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>
This commit is contained in:
parent
e6834a4c47
commit
47bf2e8138
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user