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>
diff --git a/drivers/net/wireless/ath/wil6210/main.c b/drivers/net/wireless/ath/wil6210/main.c
index 4c15330..aa598f3 100644
--- a/drivers/net/wireless/ath/wil6210/main.c
+++ b/drivers/net/wireless/ath/wil6210/main.c
@@ -250,14 +250,14 @@
cancel_work_sync(&wil->disconnect_worker);
wil6210_disconnect(wil, NULL);
- wmi_event_flush(wil);
-
- flush_workqueue(wil->wmi_wq);
- flush_workqueue(wil->wmi_wq_conn);
-
wil6210_disable_irq(wil);
wil->status = 0;
+ wmi_event_flush(wil);
+
+ flush_workqueue(wil->wmi_wq_conn);
+ flush_workqueue(wil->wmi_wq);
+
/* TODO: put MAC in reset */
wil_target_reset(wil);