[PATCH ath-next 1/8] wifi: ath10k: fix SDIO aux workqueue starvation in recovery detection
Vasanthakumar Thiagarajan
vasanthakumar.thiagarajan at oss.qualcomm.com
Fri Oct 16 00:34:29 PDT 2026
On 25-09-2026 17:56, Kang Yang wrote:
> Recovery monitoring runs on workqueue_aux, which is also
> used by SDIO RX dispatch and WMI SERVICE_READY handling.
>
> A single firmware crash may generate multiple recovery
> triggers. Recovery detection currently handles each one by
> waiting for recovery completion on workqueue_aux. On SDIO,
> this blocks the same workqueue needed to deliver recovery
> traffic, preventing recovery from completing.
>
> As a result, otherwise recoverable firmware crashes fail
> with:
> ctl_resp never came in (-110)
>
> Treat duplicate recovery triggers as part of a single
> recovery attempt by gating recovery startup in
> ath10k_core_start_recovery() with an atomic_cmpxchg() on
> pending_recovery, and by making the monitor path check the
> elapsed time since the attempt started instead of blocking
> on a completion.
>
> Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00288-QCARMSWPZ-1
Since the issue is described from SDIO point-of-view, it makes sense to add
SDIO hardware details as well in the Tested-on tag?
Vasanth
More information about the ath10k
mailing list