linux/drivers/net/wireless/ath
Daniel Yingqiang Ma 03ceedea97 ath9k: Group Key fix for VAPs
When I set up multiple VAPs with ath9k, I encountered an issue that
the traffic may be lost after a while.

The detailed phenomenon is
1. After a while the clients connected to one of these VAPs will get
into a state that no broadcast/multicast packets can be transfered
successfully while the unicast packets can be transfered normally.
2. Minutes latter the unitcast packets transfer will fail as well,
because the ARP entry is expired and it can't be freshed due to the
broadcast trouble.

It's caused by the group key overwritten and someone discussed this
issue in ath9k-devel maillist before, but haven't work out a fix yet.

I referred the method in madwifi, and made a patch for ath9k.
The method is to set the high bit of the sender(AP)'s address, and
associated that mac and the group key. It requires the hardware
supports multicast frame key search. It seems true for AR9160.

Not sure whether it's the correct way to fix this issue. But it seems
to work in my test. The patch is attached, feel free to revise it.

Signed-off-by: Daniel Yingqiang ma <yma.cool@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-20 11:50:51 -04:00
..
ar9170 ar9170usb: add a couple more USB IDs 2010-04-14 14:59:54 -04:00
ath5k ath5k/ath9k: Fix 64 bits TSF reads 2010-04-16 15:46:54 -04:00
ath9k ath9k: Group Key fix for VAPs 2010-04-20 11:50:51 -04:00
ath.h ath: Add buffered register write operations 2010-04-16 15:47:04 -04:00
debug.c atheros: add common debug printing 2009-10-07 16:39:29 -04:00
debug.h ath9k_htc: Support for AR9271 chipset. 2010-03-23 16:50:17 -04:00
hw.c Net: wireless: ath: fix macros coding style issue in hw.c 2010-04-06 16:51:04 -04:00
Kconfig ath9k_htc: Support for AR9271 chipset. 2010-03-23 16:50:17 -04:00
main.c ath: add common ath_rxbuf_alloc() and make ath9k use it 2009-08-14 09:14:05 -04:00
Makefile ath9k: move hw code to its own module 2009-10-07 16:39:41 -04:00
reg.h atheros: define shared bssidmask setting 2009-10-07 16:39:28 -04:00
regd_common.h ath: Updates for regulatory and country codes. 2009-10-27 16:50:04 -04:00
regd.c ath: fix code readability in regd.c 2010-04-06 16:51:04 -04:00
regd.h ath: Updates for regulatory and country codes. 2009-10-27 16:50:04 -04:00