On 08/09/2025 12:58, Vitaly Kuznetsov wrote:
Li Tian <[email protected]> writes:
Because mlx5e_link_mode is sparse e.g. Azure mlx5 reports PTYS 19.
Do not return it when speed unless retrieved successfully.
Fixes: 65a5d35571849 ("net/mlx5: Refactor link speed handling with mlx5_link_info
struct")
++
Adding author and reviewer of offending patch.
Suggested-by: Vitaly Kuznetsov <[email protected]>
Signed-off-by: Li Tian <[email protected]>
---
drivers/net/ethernet/mellanox/mlx5/core/port.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/port.c
b/drivers/net/ethernet/mellanox/mlx5/core/port.c
index 2d7adf7444ba..a69c83da2542 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/port.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/port.c
@@ -1170,7 +1170,11 @@ const struct mlx5_link_info *mlx5_port_ptys2info(struct
mlx5_core_dev *mdev,
mlx5e_port_get_link_mode_info_arr(mdev, &table, &max_size,
force_legacy);
i = find_first_bit(&temp, max_size);
- if (i < max_size)
Keep an empty line before comment.
+ /*
Can have the comment text starting from the first line.
+ * mlx5e_link_mode is sparse. Check speed
The array is either 'mlx5e_link_mode' or 'mlx5e_ext_link_info' but both
have holes in them.
You mean 'mlx5e_link_info' and 'mlx5e_ext_link_info'.
I wouldn't say they are sparse. They have holes indeed.
+ * is non-zero as indication of a hole.
+ */
+ if (i < max_size && table[i].speed)
return &table[i];
return NULL;