Re: [PATCH net] net: spacemit: Hold RTNL lock in emac_resume() and emac_suspend()

From: Troy Mitchell

Date: Fri Nov 06 2026 - 05:13:45 EST


On Thu, 5 Nov 2026 17:34:37 +0500, Ali Tariq wrote:
> @@ -2056,7 +2059,9 @@ static int emac_suspend(struct device *dev)
> return 0;
> }
>
> + rtnl_lock();
> emac_stop(ndev);
> + rtnl_unlock();
>
> clk_disable_unprepare(priv->bus_clk);
> netif_device_detach(ndev);
This can deadlock. emac_stop() -> emac_down() calls
cancel_work_sync(&priv->tx_timeout_task) with RTNL now held, while
emac_tx_timeout_task() starts with rtnl_lock().

--
Troy Mitchell

Attachment: signature.asc
Description: PGP signature