[PATCH ath-next 1/8] wifi: ath10k: fix SDIO aux workqueue starvation in recovery detection
Kang Yang
kang.yang at oss.qualcomm.com
Fri Oct 16 01:44:59 PDT 2026
On 10/16/2026 3:34 PM, Vasanthakumar Thiagarajan wrote:
>
> 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?
Google is doing detail test on all platforms, will add test on tag after
that.
>
> Vasanth
More information about the ath10k
mailing list