diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2008-05-15 01:54:09 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-21 21:48:01 -0400 |
commit | ccc038abe4cb00cf56aeae5b1df47fcc4ed4136c (patch) | |
tree | 0c35fec8a1c9e7179f9b756d30c3f8af02d9bfa5 /drivers/net/wireless/iwlwifi/iwl-4965.c | |
parent | a98410139a2ef6553ae5d73bf12bb9a68d0b38b9 (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.c | 2 |
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) { |