linux/drivers/net/wireless/ath/ath9k
Felix Fietkau 97923b14a5 ath9k: fix queue stopping threshold
ath9k tries to prevent WMM queue tx buffer starvation caused by
traffic on different queues by limiting the number of pending frames
in a tx queue (tracked in the ath_buf structure). This had a leak
issue, because the a skb can be reassigned to a different ath_buf
in the tx path, causing the pending frame counter to become inaccurate.

To fix this, track the number of frames in an array in the softc,
using the mac80211 queue mapping as index.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-06-14 15:39:31 -04:00
..
ahb.c
ani.c ath9k: add new ANI implementation for AR9003 2010-06-14 15:39:29 -04:00
ani.h ath9k: add new ANI implementation for AR9003 2010-06-14 15:39:29 -04:00
ar5008_initvals.h ath9k: Avoid corrupt frames being forwarded to mac80211. 2010-04-27 16:09:22 -04:00
ar5008_phy.c ath9k: add new ANI implementation for AR9003 2010-06-14 15:39:29 -04:00
ar9001_initvals.h ath9k_hw: make two initvals consto for the AR9001 family 2010-04-21 14:15:18 -04:00
ar9002_calib.c ath9k_hw: Use buffered register writes 2010-04-16 15:47:09 -04:00
ar9002_hw.c ath9k: add new ANI implementation for AR9003 2010-06-14 15:39:29 -04:00
ar9002_initvals.h ath9k_htc: Initvals update for AR9271 2010-06-02 16:13:14 -04:00
ar9002_mac.c ath9k_hw: move AR9002 mac ops to its own file 2010-04-16 15:43:45 -04:00
ar9002_phy.c ath9k_hw: fix fast clock handling for 5GHz channels 2010-04-27 16:09:18 -04:00
ar9002_phy.h ath9k_hw: add register definitions for the new ANI 2010-06-14 15:39:29 -04:00
ar9003_2p0_initvals.h ath9k_hw: update 5 GHz tx gain tables for femless and high power PA 2010-06-14 15:39:30 -04:00
ar9003_2p2_initvals.h ath9k_hw: update 5 GHz tx gain tables for femless and high power PA 2010-06-14 15:39:30 -04:00
ar9003_calib.c ath9k_hw: Enable TX IQ calibration on AR9003 2010-06-02 16:13:28 -04:00
ar9003_eeprom.c ath9k_hw: clean up EEPROM endian handling on AR9003 2010-05-12 16:39:07 -04:00
ar9003_eeprom.h ath9k_hw: clean up EEPROM endian handling on AR9003 2010-05-12 16:39:07 -04:00
ar9003_hw.c ath9k: add new ANI implementation for AR9003 2010-06-14 15:39:29 -04:00
ar9003_mac.c ath9k_hw: add support for the AR9003 baseband watchdog 2010-06-02 16:13:00 -04:00
ar9003_mac.h ath9k_hw: add support for the AR9003 baseband watchdog 2010-06-02 16:13:00 -04:00
ar9003_phy.c ath9k_hw: reduce delay on programming INI on AR9003 2010-06-14 15:39:30 -04:00
ar9003_phy.h ath9k_hw: add register definitions for the new ANI 2010-06-14 15:39:29 -04:00
ath9k.h ath9k: fix queue stopping threshold 2010-06-14 15:39:31 -04:00
beacon.c ath9k: remove duplicate WMM AC definitions 2010-06-14 15:39:30 -04:00
btcoex.c
btcoex.h
calib.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
calib.h ath9k_hw: fill in the callbacks for calibration for AR9003 2010-04-16 15:43:35 -04:00
common.c ath9k_common: Move count_streams to common module 2010-06-04 16:00:39 -04:00
common.h ath9k_common: Move count_streams to common module 2010-06-04 16:00:39 -04:00
debug.c ath9k: remove duplicate WMM AC definitions 2010-06-14 15:39:30 -04:00
debug.h ath9k: enable the baseband watchdog events for AR9003 2010-06-02 16:13:00 -04:00
eeprom.c ath9k_hw: Cleanup TX power calculation for AR9287 2010-06-03 14:10:46 -04:00
eeprom.h ath9k_hw: Cleanup TX power calculation for AR9287 2010-06-03 14:10:46 -04:00
eeprom_4k.c ath: Fix uninitialized variable warnings 2010-06-07 15:14:53 -04:00
eeprom_9287.c ath: Fix uninitialized variable warnings 2010-06-07 15:14:53 -04:00
eeprom_def.c ath: Fix uninitialized variable warnings 2010-06-07 15:14:53 -04:00
gpio.c
hif_usb.c ath9k_htc: Add support for AR7010 2010-06-04 16:00:39 -04:00
hif_usb.h ath9k_htc: Add support for AR7010 2010-06-04 16:00:39 -04:00
htc.h ath9k_htc: use common WMM AC definitions instead of ath9k ones 2010-06-14 15:39:30 -04:00
htc_drv_beacon.c ath9k_htc: use common WMM AC definitions instead of ath9k ones 2010-06-14 15:39:30 -04:00
htc_drv_init.c ath9k_htc: use common WMM AC definitions instead of ath9k ones 2010-06-14 15:39:30 -04:00
htc_drv_main.c ath9k_htc: use common WMM AC definitions instead of ath9k ones 2010-06-14 15:39:30 -04:00
htc_drv_txrx.c ath9k_htc: use common WMM AC definitions instead of ath9k ones 2010-06-14 15:39:30 -04:00
htc_hst.c ath9k_htc: Configure credit size for AR7010 2010-06-04 16:00:39 -04:00
htc_hst.h ath9k_htc: Fix array overflow 2010-05-12 16:39:06 -04:00
hw-ops.h ath9k_hw: inform ANI calibration when scanning 2010-06-14 15:39:29 -04:00
hw.c ath9k: fix extending the rx timestamp with the hardware TSF 2010-06-14 15:39:31 -04:00
hw.h ath9k: fix extending the rx timestamp with the hardware TSF 2010-06-14 15:39:31 -04:00
init.c ath9k: remove duplicate WMM AC definitions 2010-06-14 15:39:30 -04:00
Kconfig
mac.c ath9k_hw: inform ANI calibration when scanning 2010-06-14 15:39:29 -04:00
mac.h ath9k: remove duplicate WMM AC definitions 2010-06-14 15:39:30 -04:00
main.c ath9k: make ath_get_hal_qnum static 2010-06-14 15:39:30 -04:00
Makefile ath9k_hw: move AR9002 mac ops to its own file 2010-04-16 15:43:45 -04:00
pci.c ath9k: remove AR9003 from PCI IDs for now 2010-05-21 14:40:00 -04:00
phy.h ath9k_hw: add OFDM spur mitigation for AR9003 2010-04-16 15:43:38 -04:00
rc.c ath9k: Fix bug in rate table 2010-06-04 16:00:40 -04:00
rc.h
recv.c ath9k: fix extending the rx timestamp with the hardware TSF 2010-06-14 15:39:31 -04:00
reg.h ath9k_hw: Fix async fifo for AR9287 2010-06-03 14:10:46 -04:00
virtual.c ath9k: remove duplicate WMM AC definitions 2010-06-14 15:39:30 -04:00
wmi.c ath9k: cleanup: remove unneeded null check 2010-06-02 16:13:33 -04:00
wmi.h ath9k_htc: Increase WMI timeout value 2010-04-26 14:21:20 -04:00
xmit.c ath9k: fix queue stopping threshold 2010-06-14 15:39:31 -04:00