From: Jonas Jelonek Date: Fri, 24 Apr 2026 09:07:34 +0000 (+0200) Subject: kernel: rtl8261n: add post-reset MDIO stabilization delay X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F23076%2Fhead;p=thirdparty%2Fopenwrt.git kernel: rtl8261n: add post-reset MDIO stabilization delay After the RTL8261N asserts a reset, the MDIO bus becomes temporarily unavailable during the chip's reinitialization sequence. Any subsequent read or write issued before the PHY has stabilized will fail. Add a 30ms delay after triggering the reset to ensure the chip is reachable via MDIO before resuming communication. Signed-off-by: Jonas Jelonek Signed-off-by: Sven Eckelmann Link: https://github.com/openwrt/openwrt/pull/23076 Signed-off-by: Hauke Mehrtens --- diff --git a/target/linux/generic/files/drivers/net/phy/rtl8261n/rtk_phy.c b/target/linux/generic/files/drivers/net/phy/rtl8261n/rtk_phy.c index 7307bd30adc..925f2b3a29d 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8261n/rtk_phy.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8261n/rtk_phy.c @@ -81,6 +81,7 @@ static int rtkphy_config_init(struct phy_device *phydev) #if 1 /* toggle reset */ phy_modify_mmd_changed(phydev, 30, 0x145, BIT(0) , 1); + mdelay(30); phy_modify_mmd_changed(phydev, 30, 0x145, BIT(0) , 0); mdelay(30); #endif