linux/drivers/net/wireless/ath/ath9k
Felix Fietkau d954cd7700 ath9k: fix pending tx frames accounting
Packets originally buffered for the regular hardware tx queues can end
up being transmitted through the U-APSD queue (via PS-Poll or U-APSD).
When packets are dropped due to retransmit failures, the pending frames
counter is not always updated properly.
Fix this by keeping track of the queue that a frame was accounted for in
the ath_frame_info struct, and using that on completion to decide
whether the counter should be updated.
This fixes some spurious transmit queue hangs.

Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-18 13:45:25 -04:00
..
Kconfig ath9k: Remove ath9k rate control 2014-02-12 15:36:04 -05:00
Makefile ath9k: Add channel context structure 2014-06-19 15:49:16 -04:00
ahb.c ath9k: fix race in setting ATH_OP_INVALID 2014-04-24 21:46:22 -04:00
ani.c ath9k_hw: do not lower ANI setting below default on AR913x 2014-04-30 11:39:54 -04:00
ani.h ath9k_hw: tweak noise immunity thresholds for older chipsets 2014-03-03 15:35:55 -05:00
antenna.c ath9k: add support for reporting per-chain signal strength 2013-12-18 15:23:19 -05:00
ar953x_initvals.h ath9k_hw: Add QCA953x 2.0 initvals 2014-06-25 15:40:37 -04:00
ar955x_1p0_initvals.h ath9k: Remove AR955x INI duplicates 2013-12-09 15:37:57 -05:00
ar5008_initvals.h ath9k: fix column header comments for some initval arrays 2013-01-07 15:16:53 -05:00
ar5008_phy.c ath9k_hw: reduce ANI firstep range for older chips 2014-04-09 13:55:55 -04:00
ar9001_initvals.h ath9k: fix column header comments for some initval arrays 2013-01-07 15:16:53 -05:00
ar9002_calib.c ath9k_hw: remove IS_CHAN_B() 2013-10-14 13:39:58 -04:00
ar9002_hw.c ath9k: Register supported HW hang checks 2014-01-03 15:36:57 -05:00
ar9002_initvals.h ath9k: Enable WoW only for AR9462 2013-06-03 15:55:46 -04:00
ar9002_mac.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-01-06 14:08:41 -05:00
ar9002_phy.c ath9k_hw: simplify spur channel handling 2013-12-18 15:23:27 -05:00
ar9002_phy.h ath9k: Program HW for WB195 diversity 2013-08-05 14:52:43 -04:00
ar9003_2p2_initvals.h ath9k_hw: update ar9300 initvals 2014-04-30 12:13:15 -04:00
ar9003_buffalo_initvals.h ath9k: Use a separate TX gain table for WZR-HP-G450H 2013-12-09 15:37:58 -05:00
ar9003_calib.c ath9k: Calculate IQ-CAL median 2014-02-12 15:36:08 -05:00
ar9003_eeprom.c ath9k_hw: fix XPABIASLEVEL settings for AR9531 2014-06-25 15:40:38 -04:00
ar9003_eeprom.h ath9k: Update BaseExtension_1 eeprom structure 2013-12-18 15:23:44 -05:00
ar9003_hw.c ath9k_hw: Add QCA953x 2.0 initvals 2014-06-25 15:40:37 -04:00
ar9003_mac.c ath9k: move ath9k_debug_sync_cause out of ath9k_hw 2013-12-19 14:41:56 -05:00
ar9003_mac.h
ar9003_mci.c ath9k: Use bitops for calibration flags 2013-09-26 15:13:47 -04:00
ar9003_mci.h
ar9003_paprd.c ath9k_hw: fix PA predistortion miscalibration 2013-05-29 15:22:42 -04:00
ar9003_phy.c ath9k_hw: fix tx gain table index for AR953x 2014-06-25 15:40:38 -04:00
ar9003_phy.h ath9k: Fix regulatory compliance 2014-01-03 15:37:01 -05:00
ar9003_rtt.c ath9k: Fix PeakDetect calibration for AR9462 2013-09-26 15:13:47 -04:00
ar9003_rtt.h
ar9003_wow.c ath9k: Fix wow.c compilation 2013-12-02 14:24:53 -05:00
ar9330_1p1_initvals.h ath9k_hw: update ar9300 initvals 2014-04-30 12:13:15 -04:00
ar9330_1p2_initvals.h ath9k_hw: update ar9300 initvals 2014-04-30 12:13:15 -04:00
ar9340_initvals.h ath9k_hw: fix worse EVM for 11b rates 2014-04-30 12:13:16 -04:00
ar9462_2p0_initvals.h ath9k: Fix ETSI compliance for AR9462 2.0 2014-02-20 15:53:20 -05:00
ar9462_2p1_initvals.h ath9k: Remove duplicate initvals for AR9462 v2.1 2013-12-02 14:25:02 -05:00
ar9485_initvals.h ath9k: Identify duplicate AR9485 initvals 2013-12-09 15:37:59 -05:00
ar9565_1p0_initvals.h ath9k: Identify duplicate AR9565 v1.0 initvals 2013-12-09 15:38:00 -05:00
ar9565_1p1_initvals.h ath9k: Add initvals for AR9565 1.1 2013-12-02 14:25:01 -05:00
ar9580_1p0_initvals.h ath9k_hw: update ar9300 initvals 2014-04-30 12:13:15 -04:00
ath9k.h ath9k: fix pending tx frames accounting 2014-07-18 13:45:25 -04:00
beacon.c ath9k: Add periodic NoA support 2014-06-19 15:49:20 -04:00
btcoex.c ath9k_hw: clean up generic timer code 2013-12-18 15:23:22 -05:00
btcoex.h
calib.c ath9k: add noise floor parameter to ath9k_hw_getchan_noise 2013-10-18 14:03:53 -04:00
calib.h ath9k: add noise floor parameter to ath9k_hw_getchan_noise 2013-10-18 14:03:53 -04:00
channel.c ath9k: Add recovery mechanism for hw TSF timer 2014-06-19 15:49:20 -04:00
common-beacon.c ath9k: Calculate sleep duration 2014-07-01 14:26:26 -04:00
common-beacon.h ath9k: move ath9k_beacon_config_ap common 2014-03-17 13:13:08 -04:00
common-debug.c ath9k: move phy_err to ath9k_cmn_debug_phy_err 2014-05-13 15:56:42 -04:00
common-debug.h ath9k: move phy_err to ath9k_cmn_debug_phy_err 2014-05-13 15:56:42 -04:00
common-init.c ath9k: move ath9k_reload_chainmask_settings to common 2014-02-28 14:33:16 -05:00
common-init.h ath9k: move ath9k_reload_chainmask_settings to common 2014-02-28 14:33:16 -05:00
common.c ath9k: move ath9k_rx_skb_postprocess to common.c 2014-02-12 15:36:01 -05:00
common.h ath9k-common: create common-debug and move modal_eeprom to cmn 2014-05-13 15:56:36 -04:00
debug.c ath9k: Summarize hw state per channel context 2014-06-19 15:49:18 -04:00
debug.h ath9k & ath9k_htc: move ath_rx_stats to cmn 2014-05-13 15:56:40 -04:00
debug_sta.c ath9k: remove tid->paused flag 2014-04-30 11:42:35 -04:00
dfs.c ath9k: simplify DFS pulse interval debug printing 2014-05-29 13:08:10 -04:00
dfs.h ath9k/ath: move dfs pattern detector to ath 2013-10-18 14:03:54 -04:00
dfs_debug.c ath9k: dfs_debug fix possible NULL dereference 2013-11-11 14:42:43 -05:00
dfs_debug.h ath9k: simplify DFS pulse interval debug printing 2014-05-29 13:08:10 -04:00
eeprom.c
eeprom.h
eeprom_4k.c ath9k_hw: simplify spur channel handling 2013-12-18 15:23:27 -05:00
eeprom_9287.c ath9k_hw: simplify spur channel handling 2013-12-18 15:23:27 -05:00
eeprom_def.c ath9k_hw: simplify spur channel handling 2013-12-18 15:23:27 -05:00
gpio.c ath9k_hw: clean up generic timer code 2013-12-18 15:23:22 -05:00
hif_usb.c ath9k_htc: Add device ID for Buffalo WLI-UV-AG300P 2014-02-12 15:36:04 -05:00
hif_usb.h
htc.h ath9k: fixup "ath9k_htc: fix build with disabled debug" 2014-05-20 15:36:15 -04:00
htc_drv_beacon.c ath9k_htc: move DEFAULT_SWBA_RESPONSE check to ath9k_htc_beacon_init 2014-03-17 13:13:09 -04:00
htc_drv_debug.c ath9k_htc: use ath9k_cmn_debug_phy_err 2014-05-13 15:56:43 -04:00
htc_drv_gpio.c ath9k_htc: reconfigure led_gpios after resume 2013-12-18 15:23:02 -05:00
htc_drv_init.c ath9k_htc: sync beacon slot code with ath9k 2014-03-17 13:13:06 -04:00
htc_drv_main.c ath9k_htc: Stop ANI before doing hw_reset 2014-05-14 15:42:46 -04:00
htc_drv_txrx.c ath9k & ath9k_htc: move ath_rx_stats to cmn 2014-05-13 15:56:40 -04:00
htc_hst.c ath9k_htc: catch fw panic pattern 2014-02-12 15:36:03 -05:00
htc_hst.h ath9k_htc: catch fw panic pattern 2014-02-12 15:36:03 -05:00
hw-ops.h ath9k: Move private HW callbacks to hw-ops.h 2014-01-03 15:36:58 -05:00
hw.c ath9k_hw: Fix pll2_divfrac for AR953x 2014-06-25 15:40:39 -04:00
hw.h ath9k: save tsf in channel context 2014-06-19 15:49:18 -04:00
init.c ath9k: Increase max listen interval 2014-07-01 14:26:26 -04:00
link.c ath9k: Move beacon config to channel context 2014-06-19 15:49:18 -04:00
mac.c ath9k_hw: Abort transmission for sleeping station 2014-05-19 16:42:15 -04:00
mac.h ath9k_hw: Abort transmission for sleeping station 2014-05-19 16:42:15 -04:00
main.c ath9k: Cache beacon config after association 2014-07-01 14:26:25 -04:00
mci.c ath9k: Move caldata into channel context 2014-06-19 15:49:18 -04:00
mci.h
pci.c ath9k: Implement hw_scan support 2014-06-19 15:49:17 -04:00
phy.h ath9k: Fix diversity combining for AR9285 2013-07-24 11:02:39 -04:00
recv.c ath9k: Adjust AP beacon tsf based on station context 2014-06-19 15:49:19 -04:00
reg.h ath9k_hw: Add QCA953x 2.0 initvals 2014-06-25 15:40:37 -04:00
spectral.c ath9k: fix sparse non static symbol warning 2014-01-03 15:36:56 -05:00
spectral.h ath9k: Cleanup spectral scan code 2013-12-18 15:23:37 -05:00
tx99.c ath9k: Implement channel context ops 2014-06-19 15:49:17 -04:00
wmi.c
wmi.h ath9k: mark wmi_event_swba as __packed 2013-09-26 15:13:48 -04:00
wow.c ath9k: Add channel context worker thread 2014-06-19 15:49:17 -04:00
xmit.c ath9k: fix pending tx frames accounting 2014-07-18 13:45:25 -04:00