aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-3945.c
diff options
context:
space:
mode:
authorMohamed Abbas <mabbas@linux.intel.com>2007-11-28 22:10:13 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:05:36 -0500
commit7878a5a4fcc5002e805c054730c4c5639c9d071d (patch)
tree4c9dafcb1b996548a2220df8458008bc7601bb69 /drivers/net/wireless/iwlwifi/iwl-3945.c
parent2bdc7031f9ea1826e16bffc3540d05de891c98bc (diff)
iwlwifi: enhance WPA authenication stability
This patch enhanced WPA authenication stability by avoiding scan immediately followed by association. We don't do any scanning right after association in next several seconds. This will allow WPA authentication to take place without any interruption. Signed-off-by: Mohamed Abbas <mabbas@linux.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/iwl-3945.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c
index 51b90309ce5a..1b81545b94ea 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.c
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.c
@@ -285,6 +285,8 @@ static void iwl3945_handle_data_packet(struct iwl3945_priv *priv, int is_data,
285 rxb->skb = NULL; 285 rxb->skb = NULL;
286} 286}
287 287
288#define IWL_DELAY_NEXT_SCAN_AFTER_ASSOC (HZ*6)
289
288static void iwl3945_rx_reply_rx(struct iwl3945_priv *priv, 290static void iwl3945_rx_reply_rx(struct iwl3945_priv *priv,
289 struct iwl3945_rx_mem_buffer *rxb) 291 struct iwl3945_rx_mem_buffer *rxb)
290{ 292{
@@ -442,6 +444,13 @@ static void iwl3945_rx_reply_rx(struct iwl3945_priv *priv,
442 case IEEE80211_STYPE_REASSOC_RESP:{ 444 case IEEE80211_STYPE_REASSOC_RESP:{
443 struct ieee80211_mgmt *mgnt = 445 struct ieee80211_mgmt *mgnt =
444 (struct ieee80211_mgmt *)header; 446 (struct ieee80211_mgmt *)header;
447
448 /* We have just associated, give some
449 * time for the 4-way handshake if
450 * any. Don't start scan too early. */
451 priv->next_scan_jiffies = jiffies +
452 IWL_DELAY_NEXT_SCAN_AFTER_ASSOC;
453
445 priv->assoc_id = (~((1 << 15) | (1 << 14)) & 454 priv->assoc_id = (~((1 << 15) | (1 << 14)) &
446 le16_to_cpu(mgnt->u. 455 le16_to_cpu(mgnt->u.
447 assoc_resp.aid)); 456 assoc_resp.aid));