On 02/28/2018 09:31 AM, Michał Kazior wrote:
On 28 February 2018 at 02:22, wrote:
[...]
@@ -2086,8 +2087,28 @@ static void ath10k_pci_hif_stop(struct ath10k *ar)
ath10k_pci_irq_disable(ar);
ath10k_pci_irq_sync(ar);
ath10k_pci_flush(ar);
- napi_synchronize(&ar->nap
On 28 February 2018 at 02:22, wrote:
[...]
> @@ -2086,8 +2087,28 @@ static void ath10k_pci_hif_stop(struct ath10k *ar)
> ath10k_pci_irq_disable(ar);
> ath10k_pci_irq_sync(ar);
> ath10k_pci_flush(ar);
> - napi_synchronize(&ar->napi);
> - napi_disable(&ar->napi);
From: Ben Greear
Calling napi_disable twice in a row (w/out starting it and/or without
having NAPI active leads to deadlock because napi_disable sets
NAPI_STATE_SCHED and NAPI_STATE_NPSVC when it returns, as far as I
can tell. So, guard this call to napi_disable. I believe the
failure case is s