aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-4965.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2008-05-15 01:54:09 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-05-21 21:48:01 -0400
commitccc038abe4cb00cf56aeae5b1df47fcc4ed4136c (patch)
tree0c35fec8a1c9e7179f9b756d30c3f8af02d9bfa5 /drivers/net/wireless/iwlwifi/iwl-4965.c
parenta98410139a2ef6553ae5d73bf12bb9a68d0b38b9 (diff)
iwlwifi: clean up and bug fix for security
This patch cleans up code in security. 1) uses the new pointer to ieee80211_key_conf passed with the tx_control. 2) resolves bug reported by Mirco Tischler (sends ADD_STA in ASYNC mode) 3) resolves bug reported by Volker Braun regarding dynamic WEP 4) drops a WEP packet which has been garbaged by firmware. This can happen upon rekeying. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index 8f0852d058e5..52c7eae08d44 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -2389,6 +2389,7 @@ static int iwl4965_set_decrypted_flag(struct iwl_priv *priv,
2389 RX_RES_STATUS_BAD_KEY_TTAK) 2389 RX_RES_STATUS_BAD_KEY_TTAK)
2390 break; 2390 break;
2391 2391
2392 case RX_RES_STATUS_SEC_TYPE_WEP:
2392 if ((decrypt_res & RX_RES_STATUS_DECRYPT_TYPE_MSK) == 2393 if ((decrypt_res & RX_RES_STATUS_DECRYPT_TYPE_MSK) ==
2393 RX_RES_STATUS_BAD_ICV_MIC) { 2394 RX_RES_STATUS_BAD_ICV_MIC) {
2394 /* bad ICV, the packet is destroyed since the 2395 /* bad ICV, the packet is destroyed since the
@@ -2396,7 +2397,6 @@ static int iwl4965_set_decrypted_flag(struct iwl_priv *priv,
2396 IWL_DEBUG_RX("Packet destroyed\n"); 2397 IWL_DEBUG_RX("Packet destroyed\n");
2397 return -1; 2398 return -1;
2398 } 2399 }
2399 case RX_RES_STATUS_SEC_TYPE_WEP:
2400 case RX_RES_STATUS_SEC_TYPE_CCMP: 2400 case RX_RES_STATUS_SEC_TYPE_CCMP:
2401 if ((decrypt_res & RX_RES_STATUS_DECRYPT_TYPE_MSK) == 2401 if ((decrypt_res & RX_RES_STATUS_DECRYPT_TYPE_MSK) ==
2402 RX_RES_STATUS_DECRYPT_OK) { 2402 RX_RES_STATUS_DECRYPT_OK) {