• Martin Willi's avatar
    ath10k: schedule hardware restart if WMI command times out · a9911937
    Martin Willi authored
    When running in AP mode, ath10k sometimes suffers from TX credit
    starvation. The issue is hard to reproduce and shows up once in a
    few days, but has been repeatedly seen with QCA9882 and a large
    range of firmwares, including 10.2.4.70.67.
    
    Once the module is in this state, TX credits are never replenished,
    which results in "SWBA overrun" errors, as no beacons can be sent.
    Even worse, WMI commands run in a timeout while holding the conf
    mutex for three seconds each, making any further operations slow
    and the whole system unresponsive.
    
    The firmware/driver never recovers from that state automatically,
    and triggering TX flush or warm restarts won't work over WMI. So
    issue a hardware restart if a WMI command times out due to missing
    TX credits. This implies a connectivity outage of about 1.4s in AP
    mode, but brings back the interface and the whole system to a usable
    state. WMI command timeouts have not been seen in absent of this
    specific issue, so taking such drastic actions seems legitimate.
    Signed-off-by: default avatarMartin Willi <martin@strongswan.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    a9911937
wmi.c 300 KB