lan78xx: Enable Auto Speed and Auto Duplex configuration for LAN7801 if NO EEPROM...
authorRengarajan S <rengarajan.s@microchip.com>
Wed, 29 May 2024 14:02:56 +0000 (19:32 +0530)
committerJakub Kicinski <kuba@kernel.org>
Sat, 1 Jun 2024 23:24:34 +0000 (16:24 -0700)
Enabled ASD/ADD configuration for LAN7801 in the absence of EEPROM.
After the lite reset these contents go back to defaults where ASD/
ADD is disabled. The check is already available for LAN7800.

Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Rengarajan S <rengarajan.s@microchip.com>
Link: https://lore.kernel.org/r/20240529140256.1849764-3-rengarajan.s@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/usb/lan78xx.c

index 2472216564e71b1a9ddceb9f0c5405819bf86f38..8adf77e3557e7a49ba340de53ab71db027db048c 100644 (file)
@@ -3031,8 +3031,11 @@ static int lan78xx_reset(struct lan78xx_net *dev)
                return ret;
 
        /* LAN7801 only has RGMII mode */
-       if (dev->chipid == ID_REV_CHIP_ID_7801_)
+       if (dev->chipid == ID_REV_CHIP_ID_7801_) {
                buf &= ~MAC_CR_GMII_EN_;
+               /* Enable Auto Duplex and Auto speed */
+               buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_;
+       }
 
        if (dev->chipid == ID_REV_CHIP_ID_7800_ ||
            dev->chipid == ID_REV_CHIP_ID_7850_) {