]> git.apps.os.sepia.ceph.com Git - ceph-client.git/commitdiff
net/mlx5: Not returning mlx5_link_info table when speed is unknown
authorLi Tian <litian@redhat.com>
Wed, 10 Sep 2025 00:37:32 +0000 (08:37 +0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 12 Sep 2025 01:07:42 +0000 (18:07 -0700)
Because mlx5e_link_info and mlx5e_ext_link_info have holes
e.g. Azure mlx5 reports PTYS 19. Do not return it unless speed
is retrieved successfully.

Fixes: 65a5d35571849 ("net/mlx5: Refactor link speed handling with mlx5_link_info struct")
Suggested-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Li Tian <litian@redhat.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20250910003732.5973-1-litian@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/port.c

index 2d7adf7444ba29f722e847b6722f00b351efe6f4..aa9f2b0a77d36f64f65d87600390a349961fa0fc 100644 (file)
@@ -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)
+
+       /* mlx5e_link_info has holes. Check speed
+        * is not zero as indication of one.
+        */
+       if (i < max_size && table[i].speed)
                return &table[i];
 
        return NULL;