ath10k: start recovery process when read int status fail for sdio
authorWen Gong <wgong@codeaurora.org>
Fri, 14 Feb 2020 03:40:07 +0000 (11:40 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 11 Mar 2020 16:36:24 +0000 (18:36 +0200)
commit37b7ecb75627699e96750db1e0c5ac56224245df
treef9a65913930ffc77f07a551902d1ee4f72ec723d
parent6e51b0e4913ca2c93059f73ca477ca30ea95b6a0
ath10k: start recovery process when read int status fail for sdio

When running simulate crash stress test, it happened
"failed to read from address 0x800: -110".

Test steps:
1. Run command continuous
echo soft > /sys/kernel/debug/ieee80211/phy0/ath10k/simulate_fw_crash

2. error happened and it did not begin recovery for long time.
[74377.334846] ath10k_sdio mmc1:0001:1: simulating soft firmware crash
[74378.378217] ath10k_sdio mmc1:0001:1: failed to read from address 0x800: -110
[74378.378371] ath10k_sdio mmc1:0001:1: failed to process pending SDIO interrupts: -110

It has sdio errors since it can not read MBOX_HOST_INT_STATUS_ADDRESS,
then it has to do recovery process to recovery ath10k.

Tested with QCA6174 SDIO with firmware WLAN.RMH.4.4.1-00042.

Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/sdio.c