aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
diff options
context:
space:
mode:
authorMohamed Abbas <mohamed.abbas@intel.com>2008-06-30 05:23:15 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-06-30 17:37:42 -0400
commit052ec3f13973c789c89068573d3b06c983711d81 (patch)
tree87b3e07f16936b0f53850a814878c619b6e1d442 /drivers/net/wireless/iwlwifi/iwl4965-base.c
parent9185159d3e29eb5ef15c125089fd40c36ce0c24f (diff)
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/iwl4965-base.c')
-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)
2103 test_bit(STATUS_GEO_CONFIGURED, &priv->status) << 2103 test_bit(STATUS_GEO_CONFIGURED, &priv->status) <<
2104 STATUS_GEO_CONFIGURED | 2104 STATUS_GEO_CONFIGURED |
2105 test_bit(STATUS_IN_SUSPEND, &priv->status) << 2105 test_bit(STATUS_IN_SUSPEND, &priv->status) <<
2106 STATUS_IN_SUSPEND; 2106 STATUS_IN_SUSPEND |
2107 test_bit(STATUS_EXIT_PENDING, &priv->status) <<
2108 STATUS_EXIT_PENDING;
2107 goto exit; 2109 goto exit;
2108 } 2110 }
2109 2111
@@ -2118,7 +2120,9 @@ static void __iwl4965_down(struct iwl_priv *priv)
2118 test_bit(STATUS_IN_SUSPEND, &priv->status) << 2120 test_bit(STATUS_IN_SUSPEND, &priv->status) <<
2119 STATUS_IN_SUSPEND | 2121 STATUS_IN_SUSPEND |
2120 test_bit(STATUS_FW_ERROR, &priv->status) << 2122 test_bit(STATUS_FW_ERROR, &priv->status) <<
2121 STATUS_FW_ERROR; 2123 STATUS_FW_ERROR |
2124 test_bit(STATUS_EXIT_PENDING, &priv->status) <<
2125 STATUS_EXIT_PENDING;
2122 2126
2123 spin_lock_irqsave(&priv->lock, flags); 2127 spin_lock_irqsave(&priv->lock, flags);
2124 iwl_clear_bit(priv, CSR_GP_CNTRL, 2128 iwl_clear_bit(priv, CSR_GP_CNTRL,