Browse Source

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>
Vladimir Kondratiev 12 years ago
parent
commit
e08b5906cc
1 changed files with 4 additions and 4 deletions
  1. 4 4
      drivers/net/wireless/ath/wil6210/main.c

+ 4 - 4
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);