There are cables that exist that can support speeds in excess of 10GbE. The driver, however, restricts the EEPROM advertised nominal bitrate to a specific range, which can prevent usage of cables that can support, for example, up to 25GbE.
Rather than checking that an active or passive cable supports a specific range, only check for a minimum supported speed. Signed-off-by: Venkat Kumar Ande <venkatkumar.a...@amd.com> --- drivers/net/axgbe/axgbe_phy_impl.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 693590da53..67a18e7c55 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -117,9 +117,7 @@ enum axgbe_sfp_speed { #define AXGBE_SFP_BASE_BR 12 #define AXGBE_SFP_BASE_BR_1GBE_MIN 0x0a -#define AXGBE_SFP_BASE_BR_1GBE_MAX 0x0d #define AXGBE_SFP_BASE_BR_10GBE_MIN 0x64 -#define AXGBE_SFP_BASE_BR_10GBE_MAX 0x68 #define AXGBE_SFP_BASE_CU_CABLE_LEN 18 @@ -519,25 +517,22 @@ static void axgbe_phy_sfp_phy_settings(struct axgbe_port *pdata) static bool axgbe_phy_sfp_bit_rate(struct axgbe_sfp_eeprom *sfp_eeprom, enum axgbe_sfp_speed sfp_speed) { - u8 *sfp_base, min, max; + u8 *sfp_base, min; sfp_base = sfp_eeprom->base; switch (sfp_speed) { case AXGBE_SFP_SPEED_1000: min = AXGBE_SFP_BASE_BR_1GBE_MIN; - max = AXGBE_SFP_BASE_BR_1GBE_MAX; break; case AXGBE_SFP_SPEED_10000: min = AXGBE_SFP_BASE_BR_10GBE_MIN; - max = AXGBE_SFP_BASE_BR_10GBE_MAX; break; default: return false; } - return ((sfp_base[AXGBE_SFP_BASE_BR] >= min) && - (sfp_base[AXGBE_SFP_BASE_BR] <= max)); + return sfp_base[AXGBE_SFP_BASE_BR] >= min; } static void axgbe_phy_sfp_external_phy(struct axgbe_port *pdata) -- 2.34.1