linux-sg2042/drivers/net/wireless/ath/ath9k
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
..
Kconfig ath9k: make CONFIG_ATH9K_DFS_CERTIFIED depend on CFG80211_CERTIFICATION_ONUS 2012-07-17 15:11:31 -04:00
Makefile ath9k_hw: Add hardware code for WoW 2012-07-12 15:27:16 -04:00
ahb.c ath9k: add platform_device_id for AR9550 2012-07-09 16:36:24 -04:00
ani.c ath9k_hw: Add AR9565 HW support 2012-09-11 15:31:37 -04:00
ani.h ath9k: fix ANI operation in AP mode 2012-06-28 14:37:46 -04:00
antenna.c ath9k: Add a module parameter to enable diversity 2012-09-24 14:59:11 -04:00
ar955x_1p0_initvals.h ath9k: add initvals for AR9550 2012-07-09 16:36:26 -04:00
ar5008_initvals.h
ar5008_phy.c ath9k_hw: rename mrcCCKOff to fix smatch warning 2012-06-22 14:44:05 -04:00
ar9001_initvals.h ath9k_hw: remove duplicate initvals 2012-02-27 14:05:41 -05:00
ar9002_calib.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
ar9002_hw.c ath9k_hw: remove redundant arguments to INIT_INI_ARRAY 2012-07-17 15:11:34 -04:00
ar9002_initvals.h ath9k_hw: INI changes for WoW for AR9002 chipsets 2012-07-12 15:27:16 -04:00
ar9002_mac.c ath9k: Gather and report IRQ sync_cause errors. 2012-04-16 14:16:58 -04:00
ar9002_phy.c ath9k: remove dead code 2012-04-12 15:10:32 -04:00
ar9002_phy.h ath9k: inline AR9271 1.0 INI overrides 2012-03-15 13:45:08 -04:00
ar9003_2p2_initvals.h Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz" 2012-10-24 13:18:08 -04:00
ar9003_calib.c ath9k_hw: do not load noise floor readings when it is running 2012-07-09 16:36:18 -04:00
ar9003_eeprom.c Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2012-09-30 02:30:16 -04:00
ar9003_eeprom.h ath9k_hw: add 8 points for 5G temp slop 2012-09-11 15:31:47 -04:00
ar9003_hw.c ath9k_hw: Add AR9565 initvals 2012-09-11 15:31:36 -04:00
ar9003_mac.c ath9k_hw: Handle AR_INTR_SYNC_HOST1_(FATAL|PERR) on AR9003 2012-09-28 13:54:10 -04:00
ar9003_mac.h ath9k: Fix descriptor length for AR9462 2012-02-27 14:05:44 -05:00
ar9003_mci.c ath9k: Handle errors properly in MCI initialization 2012-09-28 13:54:02 -04:00
ar9003_mci.h ath9k: Handle errors properly in MCI initialization 2012-09-28 13:54:02 -04:00
ar9003_paprd.c ath9k_hw: calibrate PA input for PA predistortion 2012-09-05 14:53:31 -04:00
ar9003_phy.c ath9k: Add a debugfs file to adjust antenna diversity 2012-09-28 13:54:03 -04:00
ar9003_phy.h ath9k_hw: Add a HW callback to set diversity 2012-09-24 14:59:11 -04:00
ar9003_rtt.c ath9k_hw: Fix RTT calibration 2012-05-15 17:27:55 -04:00
ar9003_rtt.h ath9k_hw: Fix RTT calibration 2012-05-15 17:27:55 -04:00
ar9330_1p1_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ar9330_1p2_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ar9340_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ar9462_2p0_initvals.h ath9k_hw: use peak detection for 5GHz 2012-09-11 15:31:46 -04:00
ar9485_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ar9565_1p0_initvals.h ath9k_hw: Update AR9565 initvals 2012-09-24 14:59:11 -04:00
ar9580_1p0_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ath9k.h ath9k: Fix chainmask selection for AR9462 2012-09-28 13:54:06 -04:00
beacon.c ath9k: use ieee80211_free_txskb 2012-10-05 16:26:17 -04:00
btcoex.c ath9k: Fix BTCOEX weight initialization 2012-09-28 13:54:10 -04:00
btcoex.h ath9k: Fix BTCOEX weight initialization 2012-09-28 13:54:10 -04:00
calib.c ath9k: fix max noise floor threshold 2012-03-26 15:07:23 -04:00
calib.h ath9k_hw: remove redundant arguments to INIT_INI_ARRAY 2012-07-17 15:11:34 -04:00
common.c
common.h
debug.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-10-01 07:39:36 -04:00
debug.h ath9k_hw: Wait BT calibration to complete 2012-09-11 15:31:45 -04:00
dfs.c ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs.h ath9k: update to DFS pattern detector interface 2012-04-11 16:23:54 -04:00
dfs_debug.c ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs_debug.h ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs_pattern_detector.c ath9k: add DFS pattern detector 2012-04-11 16:23:52 -04:00
dfs_pattern_detector.h ath9k: add DFS pattern detector 2012-04-11 16:23:52 -04:00
dfs_pri_detector.c ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs_pri_detector.h ath9k: add DFS pattern detector 2012-04-11 16:23:52 -04:00
eeprom.c ath9k: move ath9k_hw_fbin2freq function to eeprom.h 2012-04-17 14:57:13 -04:00
eeprom.h ath9k_hw: add 8 points for 5G temp slop 2012-09-11 15:31:47 -04:00
eeprom_4k.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-06-12 14:25:04 -04:00
eeprom_9287.c ath9k: Fix modal EEPROM dump 2012-06-05 15:23:20 -04:00
eeprom_def.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-06-12 14:25:04 -04:00
gpio.c ath9k: Fix BTCOEX weight initialization 2012-09-28 13:54:10 -04:00
hif_usb.c ath9k_htc: Add PID/VID for a Ubiquiti WiFiStation 2012-10-24 13:18:08 -04:00
hif_usb.h wireless: ath9k-htc: only load firmware in need 2012-09-07 15:03:36 -04:00
htc.h mac80211: move TX station pointer and restructure TX 2012-07-31 16:18:39 +02:00
htc_drv_beacon.c mac80211: move TX station pointer and restructure TX 2012-07-31 16:18:39 +02:00
htc_drv_debug.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
htc_drv_gpio.c ath9k: Fix BTCOEX weight initialization 2012-09-28 13:54:10 -04:00
htc_drv_init.c ath9k_htc: Add a modparam to enable BTCOEX rather than default 2012-09-11 15:13:52 -04:00
htc_drv_main.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2012-09-24 14:34:40 -04:00
htc_drv_txrx.c mac80211: move TX station pointer and restructure TX 2012-07-31 16:18:39 +02:00
htc_hst.c ath: Add and use pr_fmt, convert printks to pr_<level> 2012-04-10 14:52:13 -04:00
htc_hst.h
hw-ops.h ath9k_hw: Add a HW callback to set diversity 2012-09-24 14:59:11 -04:00
hw.c ath9k: improve suspend/resume reliability 2012-10-05 16:26:17 -04:00
hw.h ath9k: improve suspend/resume reliability 2012-10-05 16:26:17 -04:00
init.c ath9k: Add a module parameter to enable diversity 2012-09-24 14:59:11 -04:00
link.c ath9k: make PA linearization optional, disabled by default and fix checks 2012-09-10 14:42:43 -04:00
mac.c ath9k: fix interrupt storms on queued hardware reset 2012-08-10 14:50:24 -04:00
mac.h ath9k: fix interrupt storms on queued hardware reset 2012-08-10 14:50:24 -04:00
main.c ath9k: use ieee80211_free_txskb 2012-10-05 16:26:17 -04:00
mci.c ath9k: Handle errors properly in MCI initialization 2012-09-28 13:54:02 -04:00
mci.h ath9k: Setup MCI interrupts properly 2012-06-06 15:20:24 -04:00
pci.c ath9k: improve suspend/resume reliability 2012-10-05 16:26:17 -04:00
phy.h
rc.c ath9k: Enable SGI correctly 2012-09-24 14:59:06 -04:00
rc.h ath9k: Trim rate table 2012-08-10 15:27:19 -04:00
recv.c ath9k: Fix rx filtering issue for older chips 2012-09-28 13:54:02 -04:00
reg.h ath9k_hw: Add version/revision macros for AR9565 2012-09-11 15:31:34 -04:00
wmi.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
wmi.h
wow.c ath9k: Enable MCI for AR9565 2012-09-28 13:54:07 -04:00
xmit.c ath9k: Test for TID only in BlockAcks while checking tx status 2012-10-30 15:58:54 -04:00