diff options
author | Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> | 2013-01-28 17:31:05 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-01-30 21:07:16 +0100 |
commit | e08b5906ccf323e2ad7b0448329b7cbcfda4c94e (patch) | |
tree | 4f1f1ad792045e005a2e12b0f92869a1d199c17e /drivers/net/wireless/ath/wil6210/main.c | |
parent | wil6210: Separate common code for mbox regs caching to function (diff) | |
download | linux-e08b5906ccf323e2ad7b0448329b7cbcfda4c94e.tar.xz linux-e08b5906ccf323e2ad7b0448329b7cbcfda4c94e.zip |
wil6210: Reorder reset preparation sequence
Disable interrupts first to prevent spurious WMI events arrival
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/wil6210/main.c')
-rw-r--r-- | drivers/net/wireless/ath/wil6210/main.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/wil6210/main.c b/drivers/net/wireless/ath/wil6210/main.c index 4c1533088fe5..aa598f37899b 100644 --- a/drivers/net/wireless/ath/wil6210/main.c +++ b/drivers/net/wireless/ath/wil6210/main.c @@ -250,13 +250,13 @@ int wil_reset(struct wil6210_priv *wil) cancel_work_sync(&wil->disconnect_worker); wil6210_disconnect(wil, NULL); + wil6210_disable_irq(wil); + wil->status = 0; + wmi_event_flush(wil); - flush_workqueue(wil->wmi_wq); flush_workqueue(wil->wmi_wq_conn); - - wil6210_disable_irq(wil); - wil->status = 0; + flush_workqueue(wil->wmi_wq); /* TODO: put MAC in reset */ wil_target_reset(wil); |