summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath9k/recv.c
diff options
context:
space:
mode:
authorClark Williams <williams@redhat.com>2012-02-23 21:33:05 -0600
committerClark Williams <williams@redhat.com>2012-02-23 21:33:05 -0600
commita0c034c3726715d1928b301ddd43c51799c0c07a (patch)
tree76e78b4646ca0560d8cd0ee041a8bde9a5269c8c /drivers/net/wireless/ath/ath9k/recv.c
parent086290148fc37d7f2eccb7026b18fb9539ec7820 (diff)
parent9d0231c207faeda051cf54c1a64e1a147d2187fa (diff)
Merge commit 'v3.2.7' into rt-3.2.7-rt13v3.2.7-rt13
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/recv.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 67b862cdae6d..2f3aeac0d37e 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -824,6 +824,14 @@ static bool ath9k_rx_accept(struct ath_common *common,
(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;
/*