|
|
@@ -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;
|