mac80211: mwl8k: init devices synchronously
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / 940-mwl8k_init_devices_synchronously.patch
diff --git a/package/kernel/mac80211/patches/940-mwl8k_init_devices_synchronously.patch b/package/kernel/mac80211/patches/940-mwl8k_init_devices_synchronously.patch
new file mode 100644 (file)
index 0000000..75d8212
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/drivers/net/wireless/mwl8k.c
++++ b/drivers/net/wireless/mwl8k.c
+@@ -6261,6 +6261,8 @@ static int mwl8k_probe(struct pci_dev *p
+       priv->running_bsses = 0;
++      wait_for_completion(&priv->firmware_loading_complete);
++
+       return rc;
+ err_stop_firmware:
+@@ -6294,8 +6296,6 @@ static void mwl8k_remove(struct pci_dev
+               return;
+       priv = hw->priv;
+-      wait_for_completion(&priv->firmware_loading_complete);
+-
+       if (priv->fw_state == FW_STATE_ERROR) {
+               mwl8k_hw_reset(priv);
+               goto unmap;