diff options
author | Oleksij Rempel <o.rempel@pengutronix.de> | 2025-07-09 16:07:52 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2025-07-11 04:08:16 +0300 |
commit | b4517c363e0e005c7f81ae3be199eec68e87f122 (patch) | |
tree | b6ac2199d897132cc07f3b1e301749499ca160e7 /net/lapb/lapb_timer.c | |
parent | 01b8114b432d7baaa5e51ab229c12c4f36b8e2c6 (diff) | |
download | linux-b4517c363e0e005c7f81ae3be199eec68e87f122.tar.xz |
net: phy: microchip: Use genphy_soft_reset() to purge stale LPA bits
Enable .soft_reset for the LAN88xx PHY driver by assigning
genphy_soft_reset() to ensure that the phylib core performs a proper
soft reset during reconfiguration.
Previously, the driver left .soft_reset unimplemented, so calls to
phy_init_hw() (e.g., from lan88xx_link_change_notify()) did not fully
reset the PHY. As a result, stale contents in the Link Partner Ability
(LPA) register could persist, causing the PHY to incorrectly report
that the link partner advertised autonegotiation even when it did not.
Using genphy_soft_reset() guarantees a clean reset of the PHY and
corrects the false autoneg reporting in these scenarios.
Fixes: ccb989e4d1ef ("net: phy: microchip: Reset LAN88xx PHY to ensure clean link state on LAN7800/7850")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20250709130753.3994461-2-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions