Re: [PATCH net] net: ipa: fix stalled modem TX queue after runtime resume
From: patchwork-bot+netdevbpf@kernel.org
Date: 2026-08-19 07:10:54
Also in:
lkml, stable
Hello: This patch was applied to netdev/net.git (main) by David S. Miller [off-list ref]: On Sat, 15 Aug 2026 06:03:02 +0200 you wrote:
ipa_start_xmit() unconditionally stops the TX queue before calling pm_runtime_get(), relying on the wake scheduled by runtime resume (ipa_modem_wake_queue_work()) to restart it once power is ACTIVE. But that work is queued from within the runtime resume callback, before the device's power state reaches RPM_ACTIVE, so it can run while the device is still RPM_RESUMING. The wake is then consumed too early: the transmit it restarts stops the queue again, pm_runtime_get() returns -EINPROGRESS without arranging any future wake (deferred_resume exists only for RPM_SUSPENDING), and after the resume completes nothing is left to wake the queue. Transmit stalls permanently: packets pile up in the qdisc behind the stopped queue, the device runtime-suspends, and since the netdev registers no ndo_tx_timeout the watchdog never fires. Observed on SM7635 (Fairphone 6) as the cellular data path going permanently deaf within hours, RX included, since nothing resumes the suspended endpoints. [...]
Here is the summary with links:
- [net] net: ipa: fix stalled modem TX queue after runtime resume
https://git.kernel.org/netdev/net/c/c8c69c9a6d81
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html