]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: rtl8261n: add post-reset MDIO stabilization delay 23076/head
authorJonas Jelonek <jelonek.jonas@gmail.com>
Fri, 24 Apr 2026 09:07:34 +0000 (11:07 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 25 Apr 2026 17:56:08 +0000 (19:56 +0200)
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 <jelonek.jonas@gmail.com>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Link: https://github.com/openwrt/openwrt/pull/23076
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/generic/files/drivers/net/phy/rtl8261n/rtk_phy.c

index 7307bd30adcd9964a29fe77217c96aafe168b350..925f2b3a29d496da5d6607083cbf2a01267caffa 100644 (file)
@@ -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