linux/drivers/net/wireless/ath
Felix Fietkau 846d936350 ath9k_hw: fix a regression in key miss handling
The commit "ath9k_hw: Fix incorrect key_miss handling" changed the code
to only report key miss errors if a MIC error wasn't reported.
When checking the flags in that order in the MAC code, it might miss some
real events, because the value of the MIC error flag is undefined under
some conditions.

The primary issue addressed by the previous commit is making sure that
MIC errors are properly reported on the STA side. This can be fixed in
a better way by adding a separate rx status flag for key miss and
ignoring it for multicast frames.

This fix slightly improves stability in AP mode on some older hardware,
like AR9132.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-10-11 16:41:29 -04:00
..
ath5k ath5k: remove some unneeded error handling code 2011-10-11 16:41:09 -04:00
ath6kl ath6kl: fixup merge damage in ath6kl_mgmt_tx 2011-10-11 15:33:10 -04:00
ath9k ath9k_hw: fix a regression in key miss handling 2011-10-11 16:41:29 -04:00
carl9170 ath: remove ath_regulatory::current_rd_ext 2011-10-11 16:41:27 -04:00
Kconfig Add ath6kl cleaned up driver 2011-08-09 19:45:18 +03:00
Makefile Add ath6kl cleaned up driver 2011-08-09 19:45:18 +03:00
ath.h ath: remove ath_regulatory::current_rd_ext 2011-10-11 16:41:27 -04:00
debug.c ath: Add and use ath_printk and ath_<level> 2010-12-07 16:34:39 -05:00
hw.c Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-05-24 16:47:54 -04:00
key.c ath: use get_unaligned_le{16,32} in ath_hw_keysetmac() 2011-07-18 14:29:41 -04:00
main.c ath: Make ath_printk void not int and remove unused struct ath_common * 2011-08-30 15:38:52 -04:00
reg.h ath9k_hw: move the cycle counter tracking to ath 2010-10-11 15:04:20 -04:00
regd.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-04-25 14:34:25 -04:00
regd.h ath: fix spelling of Grenada 2011-08-08 16:04:13 -04:00
regd_common.h ath: fix spelling of Grenada 2011-08-08 16:04:13 -04:00