]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
rtase: Correct the speed for RTL907XD-V1
authorJustin Lai <justinlai0215@realtek.com>
Wed, 20 Nov 2024 07:56:23 +0000 (15:56 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 26 Nov 2024 09:12:58 +0000 (10:12 +0100)
Previously, the reported speed was uniformly set to SPEED_5000, but the
RTL907XD-V1 actually operates at a speed of SPEED_10000. Therefore, this
patch makes the necessary correction.

Fixes: dd7f17c40fd1 ("rtase: Implement ethtool function")
Signed-off-by: Justin Lai <justinlai0215@realtek.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/realtek/rtase/rtase_main.c

index d4ae0dd315d3a4b84feb6fc99e3f2ec4ced28431..c1782e32f9c6a37ef3afecd70ef2d5d082682693 100644 (file)
@@ -1714,10 +1714,21 @@ static int rtase_get_settings(struct net_device *dev,
                              struct ethtool_link_ksettings *cmd)
 {
        u32 supported = SUPPORTED_MII | SUPPORTED_Pause | SUPPORTED_Asym_Pause;
+       const struct rtase_private *tp = netdev_priv(dev);
 
        ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported,
                                                supported);
-       cmd->base.speed = SPEED_5000;
+
+       switch (tp->hw_ver) {
+       case RTASE_HW_VER_906X_7XA:
+       case RTASE_HW_VER_906X_7XC:
+               cmd->base.speed = SPEED_5000;
+               break;
+       case RTASE_HW_VER_907XD_V1:
+               cmd->base.speed = SPEED_10000;
+               break;
+       }
+
        cmd->base.duplex = DUPLEX_FULL;
        cmd->base.port = PORT_MII;
        cmd->base.autoneg = AUTONEG_DISABLE;