On Tue, Jul 07, 2026 at 06:21:46PM +0200, Stefan Agner wrote:
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -5884,6 +5884,15 @@
__stmmac_release(dev);
+ /* phylink_stop() in __stmmac_release() suspends the PHY.
+ * IEEE 802.3 allows PHYs to stop their receive clock while
+ * powered down, but the DMA software reset performed by
+ * stmmac_hw_setup() requires a running receive clock.
+ * Resume the PHY, as on system resume, to ensure its clocks
+ * are running before reopening the interface.
+ */
+ phylink_prepare_resume(priv->phylink);
Does it work without warnings? Nothing in dmesg?
phylink_prepare_resume() does have ASSERT_RTNL() which is not called anywhere.
BR
Jakub Raczynski