linux/drivers/net/wireless/ath/ath9k
Lorenzo Bianconi 7540184942 ath9k: fix an issue in ath_atx_tid paused flag management
I noticed a possible issue in the paused flag management of the
ath_atx_tid data structure. In particular, in a noisy environment and
under heavy load, I observed that the AGGR session establishment could
fail several times consecutively causing values of the paused flag
greater than one for this TID (ath_tx_pause_tid is called more than
once from ath_tx_aggr_start).

Considering that the session for this TID can not be established also
after the mac80211 stack calls the ieee80211_agg_tx_operational() since
the ath_tx_aggr_resume() lowers the paused flag only by one.

This patch also replaces some BUG_ON calls with WARN_ON, as even if
these unlikely conditions happen, it's not fatal enough to justify a
BUG_ON.

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-08-04 15:27:38 -04:00
..
ahb.c drivers/net/wireless: Use wiphy_<level> 2010-07-27 15:14:13 -04:00
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_hw: reformat the ar5008, ar9001 and ar9002 initvals to match ar9003 2010-07-02 13:44:34 -04:00
ar5008_phy.c ath9k_hw: fix invalid extension channel noisefloor readings in HT20 2010-07-26 15:32:42 -04:00
ar9001_initvals.h ath9k_hw: sync initvals for ar9001 and ar9002 with Atheros 2010-07-02 13:44:35 -04:00
ar9002_calib.c ath9k_hw: fix a noise floor calibration related race condition 2010-08-04 15:27:37 -04:00
ar9002_hw.c ath9k_hw: remove initvals for hardware which was never sold 2010-07-14 13:52:46 -04:00
ar9002_initvals.h ath9k_hw: remove initvals for hardware which was never sold 2010-07-14 13:52:46 -04:00
ar9002_mac.c ath9k_hw: report the TID in the tx status on AR5008-AR9002 2010-07-12 16:05:38 -04:00
ar9002_phy.c ath9k_hw: fix invalid extension channel noisefloor readings in HT20 2010-07-26 15:32:42 -04:00
ar9002_phy.h ath9k_hw: sanitize noise floor values properly on all chips 2010-07-02 13:44:36 -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: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
ar9003_eeprom.c ath9k_hw: Fix regulatory CTL index usage for AR9003 2010-08-04 15:27:38 -04:00
ar9003_eeprom.h ath9k_hw: add support for parsing PA predistortion related EEPROM fields 2010-06-14 15:39:32 -04:00
ar9003_hw.c ath9k_hw: dynamically choose the SERDES array for low power 2010-06-23 15:14:03 -04:00
ar9003_mac.c ath9k_hw: Fix AR9003 MPDU delimeter CRC check for middle subframes 2010-07-16 14:03:42 -04:00
ar9003_mac.h ath9k_hw: report the TID in the tx status on AR5008-AR9002 2010-07-12 16:05:38 -04:00
ar9003_paprd.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
ar9003_phy.c ath9k_hw: fix analog shift register writes on AR9003 2010-08-04 15:27:37 -04:00
ar9003_phy.h ath9k_hw: add register definitions related to PA predistortion 2010-06-14 15:39:32 -04:00
ath9k.h ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
beacon.c ath9k: remove duplicate WMM AC definitions 2010-06-14 15:39:30 -04:00
btcoex.c
btcoex.h
calib.c ath9k_hw: fix a noise floor calibration related race condition 2010-08-04 15:27:37 -04:00
calib.h ath9k_hw: fix a noise floor calibration related race condition 2010-08-04 15:27:37 -04:00
common.c ath9k: fix crash with WEP in ad-hoc mode 2010-07-02 13:44:38 -04:00
common.h ath9k_common: Move count_streams to common module 2010-06-04 16:00:39 -04:00
debug.c ath9k: add a debugfs entry for ignoring CCA on the extension channel in HT40 2010-06-14 15:39:31 -04:00
debug.h ath9k: enable the baseband watchdog events for AR9003 2010-06-02 16:13:00 -04:00
eeprom_4k.c ath9k: remove unneeded calculation of minimal calibration power 2010-07-14 13:52:45 -04:00
eeprom_9287.c ath9k: remove unneeded calculation of minimal calibration power 2010-07-14 13:52:45 -04:00
eeprom_def.c ath9k: remove unneeded calculation of minimal calibration power 2010-07-14 13:52:45 -04:00
eeprom.c ath9k_hw: Cleanup TX power calculation for AR9287 2010-06-03 14:10:46 -04:00
eeprom.h ath9k_hw: fix antenna diversity on AR9285 2010-07-12 16:05:37 -04:00
gpio.c ath9k: Add a module parameter to disable led blinking. 2010-06-23 15:14:05 -04:00
hif_usb.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-07-13 15:31:51 -04:00
hif_usb.h ath9k_htc: Add support for AR7010 2010-06-04 16:00:39 -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: Update supported product list 2010-06-18 15:05:12 -04:00
htc_drv_main.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
htc_drv_txrx.c ath9k_htc: Fix ampdu_action callback 2010-06-15 16:02:22 -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
htc.h ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
hw-ops.h ath9k: merge noisefloor load implementations 2010-07-12 16:05:39 -04:00
hw.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
hw.h ath9k_hw: fix a noise floor calibration related race condition 2010-08-04 15:27:37 -04:00
init.c ath9k: fix panic while cleaning up virtaul wifis 2010-07-14 13:52:45 -04:00
Kconfig ath9k_htc: Support for AR9271 chipset. 2010-03-23 16:50:17 -04:00
mac.c ath9k_hw: avoid setting cwmin/cwmax to 0 for IBSS for AR9003 2010-06-15 16:02:22 -04:00
mac.h ath9k_hw: report the TID in the tx status on AR5008-AR9002 2010-07-12 16:05:38 -04:00
main.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
Makefile ath9k_hw: add functions for controlling PA predistortion calibration 2010-06-14 15:39:32 -04:00
pci.c drivers/net/wireless: Use wiphy_<level> 2010-07-27 15:14:13 -04:00
phy.h ath9k_hw: add OFDM spur mitigation for AR9003 2010-04-16 15:43:38 -04:00
rc.c ath9k: remove unused base_index from rate table. 2010-07-27 14:59:59 -04:00
rc.h ath9k: remove unused base_index from rate table. 2010-07-27 14:59:59 -04:00
recv.c ath9k_hw: remove a useless function for setting the mac address 2010-06-14 15:39:31 -04:00
reg.h ath9k_htc: Add LED support for AR7010 2010-06-30 15:00:53 -04:00
virtual.c ath9k: Fix inconsistency between txq->stopped and the actual queue state 2010-07-26 15:32:41 -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 an issue in ath_atx_tid paused flag management 2010-08-04 15:27:38 -04:00