mac80211 skips drop_unencrypted checks if the driver/firmware has
already taken care of this. In case of ath9k, we must not indicate
that the frame was decrypted if no decryption was actually done.
Signed-off-by: Jouni Malinen <[email protected]>
---
drivers/net/wireless/ath/ath9k/common.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- wireless-testing.orig/drivers/net/wireless/ath/ath9k/common.c 2010-03-29 23:32:13.000000000 -0700
+++ wireless-testing/drivers/net/wireless/ath/ath9k/common.c 2010-03-29 23:36:52.000000000 -0700
@@ -255,7 +255,8 @@ void ath9k_cmn_rx_skb_postprocess(struct
keyix = rx_stats->rs_keyix;
- if (!(keyix == ATH9K_RXKEYIX_INVALID) && !decrypt_error) {
+ if (!(keyix == ATH9K_RXKEYIX_INVALID) && !decrypt_error &&
+ ieee80211_has_protected(fc)) {
rxs->flag |= RX_FLAG_DECRYPTED;
} else if (ieee80211_has_protected(fc)
&& !decrypt_error && skb->len >= hdrlen + 4) {
--
Jouni Malinen PGP id EFC895FA