2020-03-26 08:58:15

by Maharaja Kennadyrajan

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>
Signed-off-by: Govindaraj Saminathan <[email protected]>
Signed-off-by: Maharaja Kennadyrajan <[email protected]>
---
drivers/net/wireless/ath/ath10k/pci.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
index ded7a22..cd1c5d6 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
--
1.9.1


2020-04-06 16:16:11

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath10k: Fix the race condition in firmware dump work queue

Maharaja Kennadyrajan <[email protected]> wrote:

> 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 <[email protected]>
> Signed-off-by: Govindaraj Saminathan <[email protected]>
> Signed-off-by: Maharaja Kennadyrajan <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

Patch applied to ath-next branch of ath.git, thanks.

3d1c60460fb2 ath10k: Fix the race condition in firmware dump work queue

--
https://patchwork.kernel.org/patch/11459703/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches