linux/drivers/net/wireless/ath/ath9k
Johannes Berg 0b01f030d3 mac80211: track receiver's aggregation reorder buffer size
The aggregation code currently doesn't implement the
buffer size negotiation. It will always request a max
buffer size (which is fine, if a little pointless, as
the mac80211 code doesn't know and might just use 0
instead), but if the peer requests a smaller size it
isn't possible to honour this request.

In order to fix this, look at the buffer size in the
addBA response frame, keep track of it and pass it to
the driver in the ampdu_action callback when called
with the IEEE80211_AMPDU_TX_OPERATIONAL action. That
way the driver can limit the number of subframes in
aggregates appropriately.

Note that this doesn't fix any drivers apart from the
addition of the new argument -- they all need to be
updated separately to use this variable!

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-01-19 11:36:11 -05:00
..
ahb.c
ani.c ath9k_hw: Disable MRC CCK for AR9485 2010-12-07 16:54:23 -05:00
ani.h
ar5008_initvals.h
ar5008_phy.c ath9k_hw: remove baseband rfsilent support 2010-12-20 14:49:48 -05:00
ar9001_initvals.h
ar9002_calib.c ath9k_hw: fix carrier leakage calibration for AR9271 2011-01-19 11:36:10 -05:00
ar9002_hw.c ath9k: correct MODULE_PARM_DESC parameters for force_new_ani 2011-01-05 14:36:33 -05:00
ar9002_initvals.h
ar9002_mac.c ath9k_hw: remove ah->txpower_indexoffset 2010-12-13 15:23:32 -05:00
ar9002_phy.c ath9k: fix spur mitigation no-spur case for AR9002 2011-01-04 14:35:12 -05:00
ar9002_phy.h
ar9003_2p2_initvals.h ath9k_hw: update AR9003 initvals to improve carrier leak calibration/correction 2010-12-13 15:23:33 -05:00
ar9003_calib.c ath9k_hw: Tx IQ cal changes for AR9003 2010-12-16 15:22:30 -05:00
ar9003_eeprom.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-01-05 16:06:25 -05:00
ar9003_eeprom.h ath9k_hw: Add a helper to get paprd scale factor 2010-12-16 15:22:30 -05:00
ar9003_hw.c ath9k_hw: clean up SREV version checks 2010-12-13 15:23:31 -05:00
ar9003_mac.c ath9k_hw: partially revert "fix dma descriptor rx error bit parsing" 2011-01-19 11:36:09 -05:00
ar9003_mac.h
ar9003_paprd.c ath9k_hw: fix PA predistortion HT40 mask 2010-12-20 14:52:18 -05:00
ar9003_phy.c ath9k_hw: remove baseband rfsilent support 2010-12-20 14:49:48 -05:00
ar9003_phy.h ath9k_hw: fix PA predistortion training power selection 2010-12-13 15:23:33 -05:00
ar9485_initvals.h
ath9k.h ath9k: Fix up hardware mode and beacons with multiple vifs. 2011-01-19 11:36:11 -05:00
beacon.c ath9k: Fix up hardware mode and beacons with multiple vifs. 2011-01-19 11:36:11 -05:00
btcoex.c
btcoex.h
calib.c ath9k: preserve caldata history buffer across scanning 2011-01-19 11:36:10 -05:00
calib.h
common.c
common.h
debug.c
debug.h
eeprom_4k.c ath9k_hw: Offload USB eeprom reading to target 2011-01-19 11:36:06 -05:00
eeprom_9287.c ath9k_hw: Offload USB eeprom reading to target 2011-01-19 11:36:06 -05:00
eeprom_def.c ath9k_hw: Offload USB eeprom reading to target 2011-01-19 11:36:06 -05:00
eeprom.c ath9k_hw: Offload USB eeprom reading to target 2011-01-19 11:36:06 -05:00
eeprom.h ath9k_hw: Offload USB eeprom reading to target 2011-01-19 11:36:06 -05:00
gpio.c
hif_usb.c ath9k_htc: Handle pending URBs properly 2011-01-04 14:42:59 -05:00
hif_usb.h ath9k_htc: Handle pending URBs properly 2011-01-04 14:42:59 -05:00
htc_drv_beacon.c
htc_drv_gpio.c ath9k_htc: Move LED/RFKILL code to htc_drv_gpio.c 2011-01-04 14:43:00 -05:00
htc_drv_init.c ath9k_htc: Add multiple register read API 2011-01-19 11:36:06 -05:00
htc_drv_main.c mac80211: track receiver's aggregation reorder buffer size 2011-01-19 11:36:11 -05:00
htc_drv_txrx.c mac80211: Add timeout to BA session start API 2010-12-15 17:03:59 -05:00
htc_hst.c
htc_hst.h
htc.h ath9k_htc: keep calibrated noise floor value for oper channel 2011-01-19 11:36:10 -05:00
hw-ops.h ath9k_hw: remove baseband rfsilent support 2010-12-20 14:49:48 -05:00
hw.c ath9k_hw: Fix RX handling for USB devices 2011-01-10 15:40:51 -05:00
hw.h ath9k_htc: Add multiple register read API 2011-01-19 11:36:06 -05:00
init.c ath9k: qualify global modparam_nohwcrypt variable 2011-01-05 14:36:27 -05:00
Kconfig
mac.c ath9k_hw: partially revert "fix dma descriptor rx error bit parsing" 2011-01-19 11:36:09 -05:00
mac.h
main.c mac80211: track receiver's aggregation reorder buffer size 2011-01-19 11:36:11 -05:00
Makefile
pci.c ath9k: Reset keycache on resume 2010-12-22 15:44:22 -05:00
phy.h ath9k_hw: Find chansel of AR_PHY_65NM_CH0_SYNTH7 for AR9485 2010-12-07 16:34:55 -05:00
rc.c ath9k : few rate control clean ups 2011-01-04 14:46:13 -05:00
rc.h ath9k : few rate control clean ups 2011-01-04 14:46:13 -05:00
recv.c ath9k: Fix up hardware mode and beacons with multiple vifs. 2011-01-19 11:36:11 -05:00
reg.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-12-08 13:47:38 -08:00
virtual.c ath9k: Fix up hardware mode and beacons with multiple vifs. 2011-01-19 11:36:11 -05:00
wmi.c ath9k_htc: Handle FATAL events 2011-01-04 14:43:00 -05:00
wmi.h ath9k_htc: Handle FATAL events 2011-01-04 14:43:00 -05:00
xmit.c ath9k: fix excessive BAR sending when a frame exceeds its retry limit 2011-01-19 11:36:11 -05:00