Re: [RFC] ath10k: Attempt to work around napi_synchronize hang.

2018-02-28 Thread Ben Greear
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

Re: [RFC] ath10k: Attempt to work around napi_synchronize hang.

2018-02-28 Thread Michał Kazior
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);

[RFC] ath10k: Attempt to work around napi_synchronize hang.

2018-02-27 Thread greearb
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