diff options
author | Maharaja Kennadyrajan <mkenna@codeaurora.org> | 2020-03-26 18:36:36 +0200 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2020-04-06 19:14:36 +0300 |
commit | 3d1c60460fb2823a19ead9e6ec8f184dd7271aa7 (patch) | |
tree | a5b86afcca057f847b128a025ced70b55bdc7fb5 /drivers/net/wireless/ath/ath10k/pci.c | |
parent | 9556dfa28b4d84edfd5b96e684ed8e7a15a51b67 (diff) | |
download | linux-3d1c60460fb2823a19ead9e6ec8f184dd7271aa7.tar.bz2 |
ath10k: Fix the race condition in firmware dump work queue
There is a race condition, when the user writes 'hw-restart' and
'hard' in the simulate_fw_crash debugfs file without any delay.
In the above scenario, the firmware dump work queue(scheduled by
'hard') should be handled gracefully, while the target is in the
'hw-restart'.
Tested HW: QCA9984
Tested FW: 10.4-3.9.0.2-00044
Co-developed-by: Govindaraj Saminathan <gsamin@codeaurora.org>
Signed-off-by: Govindaraj Saminathan <gsamin@codeaurora.org>
Signed-off-by: Maharaja Kennadyrajan <mkenna@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1585213077-28439-1-git-send-email-mkenna@codeaurora.org
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/pci.c')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/pci.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c index ded7a220a4aa..cd1c5d60261f 100644 --- a/drivers/net/wireless/ath/ath10k/pci.c +++ b/drivers/net/wireless/ath/ath10k/pci.c @@ -2074,6 +2074,7 @@ static void ath10k_pci_hif_stop(struct ath10k *ar) ath10k_pci_irq_sync(ar); napi_synchronize(&ar->napi); napi_disable(&ar->napi); + cancel_work_sync(&ar_pci->dump_work); /* Most likely the device has HTT Rx ring configured. The only way to * prevent the device from accessing (and possible corrupting) host |