summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-03-05 11:24:51 -0800
committerJohn W. Linville <linville@tuxdriver.com>2012-03-06 15:16:16 -0500
commit2e7eb117586198386e5a06d0bc4279a9d7cbaeb6 (patch)
treed7f750276d2fbc84ce06216ef96441dd4fecb0a7 /drivers
parent15854ef94f54ae8fa8b95eb66a2cfa5dcff481e9 (diff)
downloadlinux-2e7eb117586198386e5a06d0bc4279a9d7cbaeb6.tar.gz
linux-2e7eb117586198386e5a06d0bc4279a9d7cbaeb6.tar.bz2
linux-2e7eb117586198386e5a06d0bc4279a9d7cbaeb6.zip
iwlwifi: move firmware completion wait
This doesn't belong into the op_mode, it has to be in the drv stop flow instead. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-drv.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index c3b594647def..8bb3f173bfa0 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -1371,8 +1371,6 @@ static void iwl_op_mode_dvm_stop(struct iwl_op_mode *op_mode)
{
struct iwl_priv *priv = IWL_OP_MODE_GET_DVM(op_mode);
- wait_for_completion(&nic(priv)->request_firmware_complete);
-
IWL_DEBUG_INFO(priv, "*** UNLOAD DRIVER ***\n");
iwl_dbgfs_unregister(priv);
diff --git a/drivers/net/wireless/iwlwifi/iwl-drv.c b/drivers/net/wireless/iwlwifi/iwl-drv.c
index 343f41eb4e4f..1a588f36b591 100644
--- a/drivers/net/wireless/iwlwifi/iwl-drv.c
+++ b/drivers/net/wireless/iwlwifi/iwl-drv.c
@@ -720,6 +720,8 @@ int iwl_drv_start(struct iwl_shared *shrd,
void iwl_drv_stop(struct iwl_shared *shrd)
{
+ wait_for_completion(&shrd->nic->request_firmware_complete);
+
/* op_mode can be NULL if its start failed */
if (shrd->nic->op_mode)
iwl_op_mode_stop(shrd->nic->op_mode);