Sven Eckelmann
6fe7cc71bb
ath9k: Test for TID only in BlockAcks while checking tx status
...
The ath9k xmit functions for AMPDUs can send frames as non-aggregate in case
only one frame is currently available. The client will then answer using a
normal Ack instead of a BlockAck. This acknowledgement has no TID stored and
therefore the hardware is not able to provide us the corresponding TID.
The TID set by the hardware in the tx status descriptor has to be seen as
undefined and not as a valid TID value for normal acknowledgements. Doing
otherwise results in a massive amount of retransmissions and stalls of
connections.
Users may experience low bandwidth and complete connection stalls in
environments with transfers using multiple TIDs.
This regression was introduced in b11b160def
("ath9k: validate the TID in the tx status information").
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Cc: stable@vger.kernel.org
Acked-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-10-30 15:58:54 -04:00
..
ath
ath9k: Test for TID only in BlockAcks while checking tx status
2012-10-30 15:58:54 -04:00
b43
b43: Fix oops on unload when firmware not found
2012-10-24 13:18:09 -04:00
b43legacy
b43legacy: Fix crash on unload when firmware not available
2012-09-28 13:54:07 -04:00
brcm80211
brcmfmac: fix potential NULL dereference
2012-10-24 13:18:08 -04:00
hostap
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2012-10-02 13:38:27 -07:00
ipw2x00
net/wireless: ipw2200: Fix panic occurring in ipw_handle_promiscuous_tx()
2012-10-15 14:45:52 -04:00
iwlegacy
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2012-10-02 13:38:27 -07:00
iwlwifi
iwlwifi: fix 6000 series channel switch command
2012-10-16 16:28:36 +02:00
libertas
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2012-09-14 13:53:49 -04:00
libertas_tf
mac80211: move TX station pointer and restructure TX
2012-07-31 16:18:39 +02:00
mwifiex
mwifiex: clean up scan state on error
2012-10-24 13:18:09 -04:00
orinoco
orinoco: use is_zero_ether_addr() instead of memcmp()
2012-09-07 15:03:37 -04:00
p54
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2012-09-28 11:11:16 -04:00
prism54
wireless: Remove casts to same type
2012-06-06 09:31:33 -07:00
rt2x00
rt2800: validate step value for temperature compensation
2012-10-30 15:58:54 -04:00
rtl818x
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2012-08-24 12:25:30 -04:00
rtlwifi
rtlwifi: pass rx setup error code to caller
2012-10-24 13:18:07 -04:00
ti
wlcore: protect wlcore_op_set_key with mutex
2012-09-27 12:13:54 +03:00
zd1211rw
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2012-10-02 13:38:27 -07:00
adm8211.c
mac80211: move TX station pointer and restructure TX
2012-07-31 16:18:39 +02:00
adm8211.h
airo.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2012-09-14 13:53:49 -04:00
airo.h
airo_cs.c
at76c50x-usb.c
wireless: at76c50x: eliminate hex2str()
2012-09-11 15:13:53 -04:00
at76c50x-usb.h
atmel.c
wireless: Remove casts to same type
2012-06-06 09:31:33 -07:00
atmel.h
atmel_cs.c
atmel_pci.c
net/wireless: use module_pci_driver
2012-04-16 14:38:50 -04:00
Kconfig
iwmc3200wifi: remove driver for unavailable hardware
2012-07-10 12:16:32 -04:00
mac80211_hwsim.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2012-09-28 11:11:16 -04:00
mac80211_hwsim.h
Makefile
iwmc3200wifi: remove driver for unavailable hardware
2012-07-10 12:16:32 -04:00
mwl8k.c
mac80211: move TX station pointer and restructure TX
2012-07-31 16:18:39 +02:00
ray_cs.c
wireless: Remove casts to same type
2012-06-06 09:31:33 -07:00
ray_cs.h
rayctl.h
rndis_wlan.c
rndis_wlan: remove pointless check from rndis_scan()
2012-09-11 15:31:44 -04:00
wl3501.h
wl3501_cs.c
wl3501_cs: use is_broadcast_ether_addr() instead of memcmp()
2012-09-07 15:03:40 -04:00
zd1201.c
USB: Disable hub-initiated LPM for comms devices.
2012-05-18 15:42:55 -07:00
zd1201.h