Thread (4 messages) 4 messages, 4 authors, 2026-08-20

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

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help