Message ID | 1491393494-11816-2-git-send-email-qca_merez@qca.qualcomm.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 82e9f646555442d63e47155171592ee790275ea3 |
Delegated to: | Kalle Valo |
Headers | show |
Maya Erez <qca_merez@qca.qualcomm.com> wrote: > From: Hamad Kadmany <qca_hkadmany@qca.qualcomm.com> > > Communication with FW must be done before wil->status > is initialized in order to properly handle cases where > communication with FW halts during reset sequence. > > Signed-off-by: Hamad Kadmany <qca_hkadmany@qca.qualcomm.com> > Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com> 11 patches applied to ath-next branch of ath.git, thanks. 82e9f6465554 wil6210: fix sequence for scan-abort during reset 8b068c032a5c wil6210: restore power save state after internal FW reset 52a457020a89 wil6210: support 8KB RX buffers 90ffabb08b7d wil6210: align to latest auto generated wmi.h b819447dfc4b wil6210: fix protection against connections during reset a3839fbcf035 wil6210: protect against sporadic interrupt during suspend flow 4d4f8132f72b wil6210: fix check for sparrow D0 FW file 0f6edfe2bbbb wil6210: fix memory access violation in wil_memcpy_from/toio_32 bd50e2688a78 wil6210: remove HALP voting in debugfs ioblob 98a830a98dab wil6210: fix array out of bounds access in pmc 3161adddf309 wil6210: prevent access to 11AD device if resume fails
diff --git a/drivers/net/wireless/ath/wil6210/main.c b/drivers/net/wireless/ath/wil6210/main.c index c33cc4a..7e72096 100644 --- a/drivers/net/wireless/ath/wil6210/main.c +++ b/drivers/net/wireless/ath/wil6210/main.c @@ -948,15 +948,15 @@ int wil_reset(struct wil6210_priv *wil, bool load_fw) /* Disable device led before reset*/ wmi_led_cfg(wil, false); + mutex_lock(&wil->p2p_wdev_mutex); + wil_abort_scan(wil, false); + mutex_unlock(&wil->p2p_wdev_mutex); + /* prevent NAPI from being scheduled and prevent wmi commands */ mutex_lock(&wil->wmi_mutex); bitmap_zero(wil->status, wil_status_last); mutex_unlock(&wil->wmi_mutex); - mutex_lock(&wil->p2p_wdev_mutex); - wil_abort_scan(wil, false); - mutex_unlock(&wil->p2p_wdev_mutex); - wil_mask_irq(wil); wmi_event_flush(wil);