linux/drivers/net/wireless
Andreas Hartmann be03d4a45c rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails
There are connection stalls or very poor throughputs with rt2800
hardware using 802.11n in AP mode since patch "mac80211: retry sending
failed BAR frames later instead of tearing down aggr"[1][2].

Since rt2800 hardware is not able to correctly report the tx status of
BAR frames, this patch removes as workaround the existing error handling
on AP side, which lets mac80211 send a BAR when an AMPDU subframe fails.

As a result, most wifi clients (aside from Intel STAs on Windows)
instead will timeout now the reorder buffer and request the lost frame
again.

The correct solution would be, to tear down BA session on AP side.

This patch was born on the basis of "[RFT] rt2x00: Tear down BA
session on QoS frame failure"[3].

Thanks to Helmut Schaa for his support!

[1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/83297/focus=83304
[2] http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commit;h=f0425beda4d404a6e751439b562100b902ba9c98
[3] http://thread.gmane.org/gmane.linux.drivers.rt2x00.user/569

Signed-off-by: Andreas Hartmann <andihartmann@01019freenet.de>
Acked-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-04-17 14:57:13 -04:00
..
ath ath9k: use ath9k_hw_fbin2freq instead of FBIN2FREQ 2012-04-17 14:57:13 -04:00
b43 mac80211: remove hw.conf.channel usage where possible 2012-04-13 14:32:50 -04:00
b43legacy mac80211: remove hw.conf.channel usage where possible 2012-04-13 14:32:50 -04:00
brcm80211 brcm80211: smac: only provide valid regulatory hint 2012-04-13 14:32:53 -04:00
hostap net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
ipw2x00 net/wireless: ipw2x00: add supported cipher suites to wiphy initialization 2012-04-12 15:10:48 -04:00
iwlegacy Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2012-04-12 13:49:28 -04:00
iwlwifi iwlwifi: remove get_cmd_string 2012-04-16 14:49:56 -07:00
iwmc3200wifi simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
libertas drivers/net/wireless/libertas/if_usb.c: add missing debugging code 2012-04-17 14:49:59 -04:00
libertas_tf drivers/net: Remove unnecessary k.alloc/v.alloc OOM messages 2012-01-31 16:20:21 -05:00
mwifiex mwifiex: use asynchronous firmware loading 2012-04-12 15:10:30 -04:00
orinoco wireless, orinoco: release_firmware() tests for NULL, remove explicit tests before calls 2012-04-12 15:06:08 -04:00
p54 net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
prism54 prism54: replace open-coded ARRAY_SIZE with macro 2012-04-12 15:10:47 -04:00
rt2x00 rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails 2012-04-17 14:57:13 -04:00
rtl818x net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
rtlwifi net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
ti Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx 2012-04-13 14:28:56 -04:00
zd1211rw Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-03-20 21:12:50 -07:00
Kconfig wireless/wl12xx/wl1251: move TI WLAN modules to a common ti subdirectory 2012-04-12 08:43:55 +03:00
Makefile wireless/wl12xx/wl1251: move TI WLAN modules to a common ti subdirectory 2012-04-12 08:43:55 +03:00
adm8211.c net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
adm8211.h
airo.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
airo.h
airo_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
at76c50x-usb.c wireless, at76c50x:: Don't needlessly test for NULL before calling release_firmware() 2012-04-12 15:06:07 -04:00
at76c50x-usb.h
atmel.c wireless, atmel: remove pointless test for NULL before release_firmware() call 2012-04-12 15:06:07 -04:00
atmel.h
atmel_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
atmel_pci.c net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
mac80211_hwsim.c mac80211_hwsim: fixup for tsf setting 2012-04-16 14:19:29 -04:00
mac80211_hwsim.h
mwl8k.c net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
ray_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ray_cs.h
rayctl.h ray_cs: Fix array bounds warnings. 2011-11-26 15:41:29 -05:00
rndis_wlan.c rndis_wlan: use u8 for key indexes 2012-03-05 15:23:17 -05:00
wl3501.h
wl3501_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
zd1201.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
zd1201.h