linux/drivers/net/wireless/ath
Sujith Manoharan adfbda6224 ath9k: Fix TX filter usage
The TX filter bit for a station would be set by the HW
when a frame is not acked. A frame would be completed with
ATH9K_TXERR_FILT status only when the corresponding filter bit
for the destination station is already set.

Currently, un-acknowledged  packets are added to the pending queue
and retried, but the "clear_dest_mask" bit in the descriptor is
set only when the TX status has been ATH9K_TXERR_FILT. This results
in packet loss and the log shows:

wlan0: dropped TX filtered frame, queue_len=0 PS=0 @4309746071
wlan0: dropped TX filtered frame, queue_len=0 PS=0 @4309746076
wlan0: dropped TX filtered frame, queue_len=0 PS=0 @4309746377
...
...

This issue can be resolved by making sure that the destination
mask is cleared when the packet is being retried and the earlier
TX status is ATH9K_TXERR_XRETRY.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-09-07 15:03:42 -04:00
..
ath5k Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2012-08-21 16:00:21 -04:00
ath6kl nl80211: move scan API to wdev 2012-07-12 12:10:41 +02:00
ath9k ath9k: Fix TX filter usage 2012-09-07 15:03:42 -04:00
carl9170 carl9170: report A-MPDU status 2012-08-21 16:06:30 -04:00
Kconfig Merge branch 'for-linus' of git://github.com/richardweinberger/linux 2011-11-02 09:45:39 -07:00
Makefile atheros: force endian checks on atheros wireless drivers 2011-12-21 15:06:12 -05:00
ath.h ath: Add Wake-on-Wireless debug mask 2012-07-12 15:27:16 -04:00
debug.c drivers/net: Add export.h to files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:08 -04:00
hw.c drivers/net: Add export.h to files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:08 -04:00
key.c ath9k: fix dynamic WEP related regression 2012-06-25 15:14:13 -04:00
main.c ath: Add and use pr_fmt, convert printks to pr_<level> 2012-04-10 14:52:13 -04:00
reg.h
regd.c ath: Add and use pr_fmt, convert printks to pr_<level> 2012-04-10 14:52:13 -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