diff options
author | Jouni Malinen <j@w1.fi> | 2010-03-30 02:37:36 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-03-31 14:46:42 -0400 |
commit | 932d37c094b3c3410b4059f18f3b5c756bff059a (patch) | |
tree | 69ed4e5754337d8769e395f4cd9b39fcb1f64abc /drivers/net/wireless/ath/ath9k/common.c | |
parent | fa83a2189870cdcd6fb4deeed391e0b988dc9a19 (diff) |
ath9k: Do not indicate RX_FLAG_DECRYPTED for unprotected frames
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 <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/common.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/common.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/common.c b/drivers/net/wireless/ath/ath9k/common.c index cf768f2811eb..09effdedc8c0 100644 --- a/drivers/net/wireless/ath/ath9k/common.c +++ b/drivers/net/wireless/ath/ath9k/common.c | |||
@@ -255,7 +255,8 @@ void ath9k_cmn_rx_skb_postprocess(struct ath_common *common, | |||
255 | 255 | ||
256 | keyix = rx_stats->rs_keyix; | 256 | keyix = rx_stats->rs_keyix; |
257 | 257 | ||
258 | if (!(keyix == ATH9K_RXKEYIX_INVALID) && !decrypt_error) { | 258 | if (!(keyix == ATH9K_RXKEYIX_INVALID) && !decrypt_error && |
259 | ieee80211_has_protected(fc)) { | ||
259 | rxs->flag |= RX_FLAG_DECRYPTED; | 260 | rxs->flag |= RX_FLAG_DECRYPTED; |
260 | } else if (ieee80211_has_protected(fc) | 261 | } else if (ieee80211_has_protected(fc) |
261 | && !decrypt_error && skb->len >= hdrlen + 4) { | 262 | && !decrypt_error && skb->len >= hdrlen + 4) { |