summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>2013-01-28 20:31:05 +0400
committerJohn W. Linville <linville@tuxdriver.com>2013-01-31 00:07:16 +0400
commite08b5906ccf323e2ad7b0448329b7cbcfda4c94e (patch)
tree4f1f1ad792045e005a2e12b0f92869a1d199c17e /drivers/net
parent56f004b4672972b6c936573eca835ed90787097a (diff)
downloadlinux-e08b5906ccf323e2ad7b0448329b7cbcfda4c94e.tar.xz
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')
-rw-r--r--drivers/net/wireless/ath/wil6210/main.c8
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);