diff options
author | Bill Jordan <bjordan@rajant.com> | 2011-08-19 11:10:22 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-08-24 14:41:43 -0400 |
commit | 152e585dc9fe2c3436e87cc982f2446697778228 (patch) | |
tree | b960dd700e84316acf0396af5c8c5980bb225b2e /drivers/net/wireless/ath | |
parent | cbe1e82a543dae06ffdba9bc108a1a22dc55cde3 (diff) |
ath9k: fix MGMT packets when using TKIP
Prevent 8 bytes from being truncated from MGMT packets
when using TKIP.
Signed-off-by: Bill Jordan <bjordan@rajant.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index a9d8f96be5a7..ad5f9bd2f0b9 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c | |||
@@ -824,7 +824,8 @@ static bool ath9k_rx_accept(struct ath_common *common, | |||
824 | is_mc = !!is_multicast_ether_addr(hdr->addr1); | 824 | is_mc = !!is_multicast_ether_addr(hdr->addr1); |
825 | is_valid_tkip = rx_stats->rs_keyix != ATH9K_RXKEYIX_INVALID && | 825 | is_valid_tkip = rx_stats->rs_keyix != ATH9K_RXKEYIX_INVALID && |
826 | test_bit(rx_stats->rs_keyix, common->tkip_keymap); | 826 | test_bit(rx_stats->rs_keyix, common->tkip_keymap); |
827 | strip_mic = is_valid_tkip && !(rx_stats->rs_status & | 827 | strip_mic = is_valid_tkip && ieee80211_is_data(fc) && |
828 | !(rx_stats->rs_status & | ||
828 | (ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC)); | 829 | (ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC)); |
829 | 830 | ||
830 | if (!rx_stats->rs_datalen) | 831 | if (!rx_stats->rs_datalen) |