aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 24a1aeb6448f..8d690a0eb1a9 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -2090,7 +2090,6 @@ static void iwl_alive_start(struct iwl_priv *priv)
2090 iwl4965_error_recovery(priv); 2090 iwl4965_error_recovery(priv);
2091 2091
2092 iwl_power_update_mode(priv, 1); 2092 iwl_power_update_mode(priv, 1);
2093 ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC);
2094 2093
2095 if (test_and_clear_bit(STATUS_MODE_PENDING, &priv->status)) 2094 if (test_and_clear_bit(STATUS_MODE_PENDING, &priv->status))
2096 iwl4965_set_mode(priv, priv->iw_mode); 2095 iwl4965_set_mode(priv, priv->iw_mode);
@@ -2342,6 +2341,7 @@ static void iwl_bg_alive_start(struct work_struct *data)
2342 mutex_lock(&priv->mutex); 2341 mutex_lock(&priv->mutex);
2343 iwl_alive_start(priv); 2342 iwl_alive_start(priv);
2344 mutex_unlock(&priv->mutex); 2343 mutex_unlock(&priv->mutex);
2344 ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC);
2345} 2345}
2346 2346
2347static void iwl4965_bg_rf_kill(struct work_struct *work) 2347static void iwl4965_bg_rf_kill(struct work_struct *work)
@@ -3252,7 +3252,11 @@ static void iwl4965_mac_update_tkip_key(struct ieee80211_hw *hw,
3252 return; 3252 return;
3253 } 3253 }
3254 3254
3255 iwl_scan_cancel_timeout(priv, 100); 3255 if (iwl_scan_cancel(priv)) {
3256 /* cancel scan failed, just live w/ bad key and rely
3257 briefly on SW decryption */
3258 return;
3259 }
3256 3260
3257 key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK); 3261 key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK);
3258 key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS); 3262 key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS);