diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-09-17 08:41:54 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-09-17 08:41:54 +0000 | 
| commit | e8135790c4e82c08cf18a9802ce2552588c2f51a (patch) | |
| tree | ef76ea13549f9a6d9da0ba445296975c10fdd335 /package/mac80211/patches/551-ath9k_fix_keymiss_handling.patch | |
| parent | e9c2d71d9206568fa901119d1ed697915aa539f3 (diff) | |
ath9k: do not strip MMIC for key miss frames
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28252 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/551-ath9k_fix_keymiss_handling.patch')
| -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 66ea9a7c0..931c50e0c 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.   		 */  | 
