]> git.baikalelectronics.ru Git - kernel.git/commit
ath9k: RX stucks during heavy traffic in HT40 mode.
authorSenthil Balasubramanian <senthilkumar@atheros.com>
Wed, 15 Jul 2009 00:17:08 +0000 (20:17 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 24 Jul 2009 19:05:17 +0000 (15:05 -0400)
commit78a2c13e6ee920f37dd9e84857bc65fb2c45a287
tree580e0d651226724921b2c246d58da2057ab585f1
parent4a23a916c8765eb404a50721eeb4f60609d4a151
ath9k: RX stucks during heavy traffic in HT40 mode.

Running iperf along with p2p traffic on both TX and RX side then
stop one side, then stop the other side, then start it up again,
eventually the STA gets into a mode that it can not pass data at
all.

A hardware workaround for invalid RSSI can make FIFO write pointer
to jump over read pointer, causing RX data corruption and repeated
DMA. Both TX and RX works fine when the workaround is disabled.

To replace the original hardware work around, software looks for
frames with post delimiter CRC error and mark the RSSI invalid so
that the upperlayer will not use the RSSI associated with this
frame. So disable the hardware workaround by updating the appropriate
registers.

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/eeprom.c
drivers/net/wireless/ath/ath9k/initvals.h
drivers/net/wireless/ath/ath9k/mac.c