From: Rengarajan S Date: Wed, 29 May 2024 14:02:56 +0000 (+0530) Subject: lan78xx: Enable Auto Speed and Auto Duplex configuration for LAN7801 if NO EEPROM... X-Git-Tag: v6.11-rc1~163^2~269^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=799f532de13601f91ecb9cc6169d45d6e6933b0f;p=thirdparty%2Fkernel%2Flinux.git lan78xx: Enable Auto Speed and Auto Duplex configuration for LAN7801 if NO EEPROM is detected 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 Signed-off-by: Rengarajan S Link: https://lore.kernel.org/r/20240529140256.1849764-3-rengarajan.s@microchip.com Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c index 2472216564e71..8adf77e3557e7 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -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_) {