summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-drv.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-25 10:11:40 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-25 10:11:40 +0100
commit85e63343f49cdf859bb630ba39d9a9af85dfb3e6 (patch)
tree8c72184c38d93a34e08f386ae70b4ee12ed7ac20 /drivers/net/wireless/iwlwifi/iwl-drv.c
parent2f6ae6ef631cd16b0725958ee805a24b9e38d7ad (diff)
parent6b16351acbd415e66ba16bf7d473ece1574cf0bc (diff)
downloadblackbird-op-linux-85e63343f49cdf859bb630ba39d9a9af85dfb3e6.tar.gz
blackbird-op-linux-85e63343f49cdf859bb630ba39d9a9af85dfb3e6.zip
Merge tag 'v3.5-rc4' into regulator-drivers
Linux 3.5-rc4 contains patches which conflict with some of the development work.
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-drv.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-drv.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-drv.c b/drivers/net/wireless/iwlwifi/iwl-drv.c
index d742900969ea..fac67a526a30 100644
--- a/drivers/net/wireless/iwlwifi/iwl-drv.c
+++ b/drivers/net/wireless/iwlwifi/iwl-drv.c
@@ -861,13 +861,18 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
/* We have our copies now, allow OS release its copies */
release_firmware(ucode_raw);
- complete(&drv->request_firmware_complete);
drv->op_mode = iwl_dvm_ops.start(drv->trans, drv->cfg, &drv->fw);
if (!drv->op_mode)
- goto out_free_fw;
+ goto out_unbind;
+ /*
+ * Complete the firmware request last so that
+ * a driver unbind (stop) doesn't run while we
+ * are doing the start() above.
+ */
+ complete(&drv->request_firmware_complete);
return;
try_again:
OpenPOWER on IntegriCloud