diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-09-17 08:41:54 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-09-17 08:41:54 +0000 |
commit | eee78bbb0b34780bbef9501635e1af913b93ac59 (patch) | |
tree | b10d8206c09dbbb6559939a698d1ddaa64d2aab0 | |
parent | 800251a7b7aa4473a37fd69ebf51ba5fbd138a3a (diff) | |
download | upstream-eee78bbb0b34780bbef9501635e1af913b93ac59.tar.gz upstream-eee78bbb0b34780bbef9501635e1af913b93ac59.tar.bz2 upstream-eee78bbb0b34780bbef9501635e1af913b93ac59.zip |
ath9k: do not strip MMIC for key miss frames
SVN-Revision: 28252
-rw-r--r-- | package/mac80211/patches/551-ath9k_fix_keymiss_handling.patch | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/package/mac80211/patches/551-ath9k_fix_keymiss_handling.patch b/package/mac80211/patches/551-ath9k_fix_keymiss_handling.patch index 66ea9a7c01..931c50e0ce 100644 --- a/package/mac80211/patches/551-ath9k_fix_keymiss_handling.patch +++ b/package/mac80211/patches/551-ath9k_fix_keymiss_handling.patch @@ -36,7 +36,17 @@ #define ATH9K_RX_MORE_AGGR 0x02 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c -@@ -854,6 +854,8 @@ static bool ath9k_rx_accept(struct ath_c +@@ -826,7 +826,8 @@ static bool ath9k_rx_accept(struct ath_c + test_bit(rx_stats->rs_keyix, common->tkip_keymap); + strip_mic = is_valid_tkip && ieee80211_is_data(fc) && + !(rx_stats->rs_status & +- (ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC)); ++ (ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC | ++ ATH9K_RXERR_KEYMISS)); + + if (!rx_stats->rs_datalen) + return false; +@@ -854,6 +855,8 @@ static bool ath9k_rx_accept(struct ath_c * descriptors. */ if (rx_stats->rs_status != 0) { @@ -45,7 +55,7 @@ if (rx_stats->rs_status & ATH9K_RXERR_CRC) { rxs->flag |= RX_FLAG_FAILED_FCS_CRC; mic_error = false; -@@ -861,7 +863,8 @@ static bool ath9k_rx_accept(struct ath_c +@@ -861,7 +864,8 @@ static bool ath9k_rx_accept(struct ath_c if (rx_stats->rs_status & ATH9K_RXERR_PHY) return false; @@ -55,7 +65,7 @@ *decrypt_error = true; mic_error = false; } -@@ -871,17 +874,14 @@ static bool ath9k_rx_accept(struct ath_c +@@ -871,17 +875,14 @@ static bool ath9k_rx_accept(struct ath_c * decryption and MIC failures. For monitor mode, * we also ignore the CRC error. */ |