summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/568-ath9k_fix_wep.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/568-ath9k_fix_wep.patch')
-rw-r--r--package/mac80211/patches/568-ath9k_fix_wep.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/package/mac80211/patches/568-ath9k_fix_wep.patch b/package/mac80211/patches/568-ath9k_fix_wep.patch
new file mode 100644
index 000000000..f18553f74
--- /dev/null
+++ b/package/mac80211/patches/568-ath9k_fix_wep.patch
@@ -0,0 +1,17 @@
+--- a/drivers/net/wireless/ath/ath9k/recv.c
++++ b/drivers/net/wireless/ath/ath9k/recv.c
+@@ -823,6 +823,14 @@ static bool ath9k_rx_accept(struct ath_c
+ (ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC |
+ ATH9K_RXERR_KEYMISS));
+
++ /*
++ * Key miss events are only relevant for pairwise keys where the
++ * descriptor does contain a valid key index. This has been observed
++ * mostly with CCMP encryption.
++ */
++ if (rx_stats->rs_keyix == ATH9K_RXKEYIX_INVALID)
++ rx_stats->rs_status &= ~ATH9K_RXERR_KEYMISS;
++
+ if (!rx_stats->rs_datalen)
+ return false;
+ /*