Skip to content

Commit 3d7cada

Browse files
ayalevin123Saeed Mahameed
authored andcommitted
net/mlx5e: ethtool, Fix analysis of speed setting
When setting speed to 100G via ethtool (AN is set to off), only 25G*4 is configured while the user, who has an advanced HW which supports extended PTYS, expects also 50G*2 to be configured. With this patch, when extended PTYS mode is available, configure PTYS via extended fields. Fixes: 4b95840 ("net/mlx5e: Fix matching of speed to PRM link modes") Signed-off-by: Aya Levin <[email protected]> Reviewed-by: Eran Ben Elisha <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]>
1 parent 6d485e5 commit 3d7cada

File tree

1 file changed

+3
-10
lines changed

1 file changed

+3
-10
lines changed

drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,18 +1027,11 @@ static bool ext_link_mode_requested(const unsigned long *adver)
10271027
return bitmap_intersects(modes, adver, __ETHTOOL_LINK_MODE_MASK_NBITS);
10281028
}
10291029

1030-
static bool ext_speed_requested(u32 speed)
1031-
{
1032-
#define MLX5E_MAX_PTYS_LEGACY_SPEED 100000
1033-
return !!(speed > MLX5E_MAX_PTYS_LEGACY_SPEED);
1034-
}
1035-
1036-
static bool ext_requested(u8 autoneg, const unsigned long *adver, u32 speed)
1030+
static bool ext_requested(u8 autoneg, const unsigned long *adver, bool ext_supported)
10371031
{
10381032
bool ext_link_mode = ext_link_mode_requested(adver);
1039-
bool ext_speed = ext_speed_requested(speed);
10401033

1041-
return autoneg == AUTONEG_ENABLE ? ext_link_mode : ext_speed;
1034+
return autoneg == AUTONEG_ENABLE ? ext_link_mode : ext_supported;
10421035
}
10431036

10441037
int mlx5e_ethtool_set_link_ksettings(struct mlx5e_priv *priv,
@@ -1065,8 +1058,8 @@ int mlx5e_ethtool_set_link_ksettings(struct mlx5e_priv *priv,
10651058
autoneg = link_ksettings->base.autoneg;
10661059
speed = link_ksettings->base.speed;
10671060

1068-
ext = ext_requested(autoneg, adver, speed),
10691061
ext_supported = MLX5_CAP_PCAM_FEATURE(mdev, ptys_extended_ethernet);
1062+
ext = ext_requested(autoneg, adver, ext_supported);
10701063
if (!ext_supported && ext)
10711064
return -EOPNOTSUPP;
10721065

0 commit comments

Comments
 (0)