Re: [PATCH net v4 5/5] net: phy: postpone PHY interrupts during sleep with MAC-managed PM

From
Igor Velkov <hidden>
Date
2026-11-01 19:11:39
Also in
linux-arm-kernel, linux-rockchip, lkml
Reply to
netdev-bot+sashiko@kernel.org, 2026-11-01
Path 1 is real for a PHY that keeps its link interrupt enabled while
armed for WoL. phylink_suspend() calls phylink_stop() before
phylink_speed_down(), so the driver's suspend runs first. RTL8211F and
AN8801R mask the link interrupt there; on Helios64 (stmmac + RTL8211F,
wakeup-source) WoL suspend passed 4/4, though I did not log the link
speed. Of the wakeup-capable PHYs in drivers/net/phy, BCM54210E leaves
it enabled. Before this series, the link-up after the downshift could
arrive after stmmac gated its clocks, and phy_interrupt() would read the
PHY over a dead MDIO bus: the hang this series fixes. An aborted suspend
is the safer failure.

Path 2: phy_stop() with wol_enabled leaves the copper link up
(rtl821x_suspend() skips genphy_suspend()), so the MAC causes no link
interrupt. Counting netdev->ethtool->wol_enabled as a system wakeup is
what phy_interrupt() already does for PHYs without mac_managed_pm.
Thread (13 messages) 13 messages, 4 authors, 1d ago
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help