summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/iwlwifi
diff options
context:
space:
mode:
authorMohamed Abbas <mohamed.abbas@intel.com>2008-06-30 13:23:15 +0400
committerJohn W. Linville <linville@tuxdriver.com>2008-07-01 01:37:42 +0400
commit052ec3f13973c789c89068573d3b06c983711d81 (patch)
tree87b3e07f16936b0f53850a814878c619b6e1d442 /drivers/net/wireless/iwlwifi
parent9185159d3e29eb5ef15c125089fd40c36ce0c24f (diff)
downloadlinux-052ec3f13973c789c89068573d3b06c983711d81.tar.xz
iwlwifi: keep the STATUS_EXIT_PENDING flag till the end of down flow
This patch avoids unsetting STATUS_EXIT_PENDING in the middle of the down flow. Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 144b1daa9d7a..1b2d9f12a3a1 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -2103,7 +2103,9 @@ static void __iwl4965_down(struct iwl_priv *priv)
test_bit(STATUS_GEO_CONFIGURED, &priv->status) <<
STATUS_GEO_CONFIGURED |
test_bit(STATUS_IN_SUSPEND, &priv->status) <<
- STATUS_IN_SUSPEND;
+ STATUS_IN_SUSPEND |
+ test_bit(STATUS_EXIT_PENDING, &priv->status) <<
+ STATUS_EXIT_PENDING;
goto exit;
}
@@ -2118,7 +2120,9 @@ static void __iwl4965_down(struct iwl_priv *priv)
test_bit(STATUS_IN_SUSPEND, &priv->status) <<
STATUS_IN_SUSPEND |
test_bit(STATUS_FW_ERROR, &priv->status) <<
- STATUS_FW_ERROR;
+ STATUS_FW_ERROR |
+ test_bit(STATUS_EXIT_PENDING, &priv->status) <<
+ STATUS_EXIT_PENDING;
spin_lock_irqsave(&priv->lock, flags);
iwl_clear_bit(priv, CSR_GP_CNTRL,