diff options
author | Mohamed Abbas <mohamed.abbas@intel.com> | 2008-06-30 05:23:15 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-30 17:37:42 -0400 |
commit | 052ec3f13973c789c89068573d3b06c983711d81 (patch) | |
tree | 87b3e07f16936b0f53850a814878c619b6e1d442 | |
parent | 9185159d3e29eb5ef15c125089fd40c36ce0c24f (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>
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 8 |
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, |