diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2008-04-17 19:03:36 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-07 15:02:11 -0400 |
commit | 3ec47732a0be038f15a0b8d852a4e4ff9c5b0196 (patch) | |
tree | 2cb45a6582df77a571554850152256df611ce094 /drivers/net/wireless/iwlwifi/iwl-4965.h | |
parent | c6adbd2158fee972adcc6232de5e2ef375f1f782 (diff) |
iwlwifi: HW crypto acceleration fixes
This patch fixes several issues in security:
1) the uCode doesn't know about TKIP-MMIC failure, if uCode set
RX_RES_STATUS_BAD_ICV_MIC, it means ICV failure: drop the packet silently.
2) do not allocate room in the key table of the uCode is the set_key call
is a replacement of an old key
3) check the keyidx of the key in the uCode before removing it upon
disable_key call
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.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.h b/drivers/net/wireless/iwlwifi/iwl-4965.h index 2c26d020103e..ca2ce27ee7f5 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.h +++ b/drivers/net/wireless/iwlwifi/iwl-4965.h | |||
@@ -673,9 +673,6 @@ extern unsigned int iwl4965_fill_beacon_frame(struct iwl_priv *priv, | |||
673 | const u8 *dest, int left); | 673 | const u8 *dest, int left); |
674 | extern int iwl4965_rx_queue_update_write_ptr(struct iwl_priv *priv, | 674 | extern int iwl4965_rx_queue_update_write_ptr(struct iwl_priv *priv, |
675 | struct iwl4965_rx_queue *q); | 675 | struct iwl4965_rx_queue *q); |
676 | extern void iwl4965_set_decrypted_flag(struct iwl_priv *priv, struct sk_buff *skb, | ||
677 | u32 decrypt_res, | ||
678 | struct ieee80211_rx_status *stats); | ||
679 | extern __le16 *ieee80211_get_qos_ctrl(struct ieee80211_hdr *hdr); | 676 | extern __le16 *ieee80211_get_qos_ctrl(struct ieee80211_hdr *hdr); |
680 | int iwl4965_init_geos(struct iwl_priv *priv); | 677 | int iwl4965_init_geos(struct iwl_priv *priv); |
681 | void iwl4965_free_geos(struct iwl_priv *priv); | 678 | void iwl4965_free_geos(struct iwl_priv *priv); |