linux/drivers/net
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
..
appletalk Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
arcnet Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
bonding bonding: properly unset current_arp_slave on slave link up 2012-04-05 19:07:59 -04:00
caif simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
can Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
cris Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
dsa
ethernet Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-04-06 10:37:38 -07:00
fddi
hamradio Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
hippi Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
hyperv net/hyperv: Fix the code handling tx busy 2012-03-19 17:27:06 -04:00
irda ARM: sa11x0: fix build errors from DMA engine API updates 2012-03-30 11:46:20 +01:00
phy phy:icplus:fix Auto Power Saving in ip101a_config_init. 2012-04-03 18:48:58 -04:00
plip Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ppp ppp: Don't stop and restart queue on every TX packet 2012-04-03 17:31:38 -04:00
slip Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
team
tokenring Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
usb net: usb: cdc_eem: fix mtu 2012-04-01 23:32:35 -04:00
vmxnet3 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-03-05 21:16:26 -05:00
wan Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
wimax Merge branch 'akpm' (Andrew's patch-bomb) 2012-04-05 15:30:34 -07:00
wireless rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails 2012-04-17 14:57:13 -04:00
xen-netback
dummy.c
eql.c eql: dont rely on HZ=100 2012-03-27 22:45:26 -04:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
macvlan.c
macvtap.c
Makefile
mdio.c ethtool, mdio, mii: Specify MDIO information fields in struct ethtool_cmd 2012-03-01 16:41:26 -05:00
mii.c ethtool, mdio, mii: Specify MDIO information fields in struct ethtool_cmd 2012-03-01 16:41:26 -05:00
netconsole.c
rionet.c rionet: fix page allocation order of rionet_active 2012-04-01 23:17:16 -04:00
sb1000.c
Space.c
sungem_phy.c
tun.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
veth.c
virtio_net.c virtio_net: do not rate limit counter increments 2012-03-28 04:40:45 -04:00
xen-netfront.c One tiny feature that accidentally got lost in the initial git pull: 2012-03-24 12:20:25 -07:00