1
0
Fork 0
alistair23-linux/drivers/net/wireless/ath/ath9k
Felix Fietkau 3b9ea7206d ath9k: fix transmitting to stations in dynamic SMPS mode
When transmitting to a receiver in dynamic SMPS mode, all transmissions that
use multiple spatial streams need to be sent using CTS-to-self or RTS/CTS to
give the receiver's extra chains some time to wake up.
This fixes the tx rate getting stuck at <= MCS7 for some clients, especially
Intel ones, which make aggressive use of SMPS.

Cc: stable@vger.kernel.org
Reported-by: Martin Kennedy <hurricos@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210214184911.96702-1-nbd@nbd.name
2021-02-18 08:07:25 +02:00
..
Kconfig ath9k: fix build error with LEDS_CLASS=m 2021-01-28 09:29:34 +02:00
Makefile ath9k: add loader for AR92XX (and older) pci(e) 2019-09-04 09:12:35 +03:00
ahb.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
ani.c ath9k: Replace HTTP links with HTTPS ones 2020-08-14 17:44:14 +03:00
ani.h
antenna.c ath9k: fix RX_STAT_INC() etc macros 2018-10-13 20:27:35 +03:00
ar953x_initvals.h
ar955x_1p0_initvals.h
ar956x_initvals.h
ar5008_initvals.h ath9k: ar5008_initvals: Move ar5416Bank{0,1,2,3,7} to where they are used 2020-08-27 13:17:40 +03:00
ar5008_phy.c ath9k: ar5008_phy: Demote half completed function headers 2020-11-07 10:07:51 +02:00
ar9001_initvals.h ath9k: ar9001_initvals: Remove unused array 'ar5416Bank6_9100' 2020-08-27 13:17:35 +03:00
ar9002_calib.c ath9k: add calibration timeout for AR9002 2020-04-28 12:07:21 +03:00
ar9002_hw.c ath9k: replace eeprom_param EEP_MINOR_REV with get_eeprom_rev 2016-12-15 10:26:27 +02:00
ar9002_initvals.h ath9k: ar9002_initvals: Remove unused array 'ar9280PciePhy_clkreq_off_L1_9280' 2020-08-27 13:17:32 +03:00
ar9002_mac.c ath9k: Use fallthrough pseudo-keyword 2020-08-14 18:04:06 +03:00
ar9002_phy.c ath9k: Use fallthrough pseudo-keyword 2020-08-14 18:04:06 +03:00
ar9002_phy.h ath9k_hw: fix spectral scan on AR9285 and newer 2016-07-19 20:58:07 +03:00
ar9003_2p2_initvals.h ath9k: ar9003_2p2_initvals: Remove unused const variables 2020-11-07 10:07:48 +02:00
ar9003_aic.c ath9k: use true,false for bool variable 2020-01-26 12:19:02 +02:00
ar9003_aic.h
ar9003_buffalo_initvals.h
ar9003_calib.c Revert "ath9k_hw: implement temperature compensation support for AR9003+" 2016-10-13 14:11:30 +03:00
ar9003_eeprom.c ath9k_hw: fix uninitialized variable data 2019-10-01 14:18:43 +03:00
ar9003_eeprom.h ath9k: Read noise floor calibration data from eeprom 2018-01-25 07:33:36 +02:00
ar9003_hw.c net: Fix misspellings of "configure" and "configuration" 2019-10-28 13:41:01 -07:00
ar9003_mac.c ath9k: Use fallthrough pseudo-keyword 2020-08-14 18:04:06 +03:00
ar9003_mac.h
ar9003_mci.c ath9k: remove set but not used variable 'new_flags' 2018-11-05 13:18:34 +02:00
ar9003_mci.h
ar9003_paprd.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
ar9003_phy.c ath9k: drop redundant code in ar9003_hw_set_channel 2019-04-29 17:56:03 +03:00
ar9003_phy.h ath9k_hw: fix duplicate (and partially wrong) definition of AR_CH0_THERM 2016-07-19 20:59:04 +03:00
ar9003_rtt.c
ar9003_rtt.h
ar9003_wow.c
ar9330_1p1_initvals.h ath9k: ar9330_1p1_initvals: Remove unused const variable 'ar9331_common_tx_gain_offset1_1' 2020-11-07 10:07:39 +02:00
ar9330_1p2_initvals.h
ar9340_initvals.h ath9k: ar9340_initvals: Remove unused const variable 'ar9340Modes_ub124_tx_gain_table_1p0' 2020-11-07 10:07:42 +02:00
ar9462_2p0_initvals.h
ar9462_2p1_initvals.h
ar9485_initvals.h ath9k: ar9485_initvals: Remove unused const variable 'ar9485_fast_clock_1_1_baseband_postamble' 2020-11-07 10:07:45 +02:00
ar9565_1p0_initvals.h
ar9565_1p1_initvals.h
ar9580_1p0_initvals.h ath9k: Remove set but not used variable 2020-09-29 11:29:20 +03:00
ath9k.h ath9k: fix transmitting to stations in dynamic SMPS mode 2021-02-18 08:07:25 +02:00
ath9k_pci_owl_loader.c ath9k: use iowrite32 over __raw_writel 2019-11-28 10:18:51 +02:00
beacon.c wireless-drivers-next patches for v5.10 2020-09-11 13:32:31 -07:00
btcoex.c
btcoex.h
calib.c ath9k: add calibration timeout for AR9002 2020-04-28 12:07:21 +03:00
calib.h
channel.c ath9k: Use fallthrough pseudo-keyword 2020-08-14 18:04:06 +03:00
common-beacon.c
common-beacon.h
common-debug.c ath9k: remove trailing semicolon in macro definition 2020-12-07 18:13:18 +02:00
common-debug.h ath9k: add counters for good and errorneous FFT/spectral frames 2018-10-02 07:43:32 +03:00
common-init.c ath9k: spelling s/premble/preamble/ 2018-03-26 18:22:44 +03:00
common-init.h
common-spectral.c ath9k: make relay callbacks const 2020-12-15 22:46:18 -08:00
common-spectral.h ath9k: fix and simplify FFT max index retrieval 2018-10-02 07:43:56 +03:00
common.c Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git 2017-05-19 11:47:44 +03:00
common.h ath9k: Fix beacon configuration for addition/removal of interfaces 2016-07-08 17:03:41 +03:00
debug.c ath9k: fix data bus crash when setting nf_override via debugfs 2021-02-11 08:49:45 +02:00
debug.h ath9k: Switch to mac80211 TXQ scheduling and airtime APIs 2019-02-12 20:44:41 +02:00
debug_sta.c ath9k: Switch to mac80211 TXQ scheduling and airtime APIs 2019-02-12 20:44:41 +02:00
dfs.c ath: add support to get the detected radar specifications 2018-05-25 13:15:21 +03:00
dfs.h
dfs_debug.c ath9k: remove trailing semicolon in macro definition 2020-12-07 18:13:18 +02:00
dfs_debug.h
dynack.c ath9k: work around false-positive gcc warning 2020-11-10 20:12:42 +02:00
dynack.h ath9k: dynack: make ewma estimation faster 2018-11-06 18:26:50 +02:00
eeprom.c ath9k: Differentiate between max combined and per chain power 2019-04-29 17:53:43 +03:00
eeprom.h ath9k: Add cast to u8 to FREQ2FBIN macro 2017-04-19 17:00:48 +03:00
eeprom_4k.c ath9k: Differentiate between max combined and per chain power 2019-04-29 17:53:43 +03:00
eeprom_9287.c ath9k: move RELAY and DEBUG_FS to ATH9K[_HTC]_DEBUGFS 2017-01-13 15:29:24 +02:00
eeprom_def.c ath9k: Use fallthrough pseudo-keyword 2020-08-14 18:04:06 +03:00
gpio.c ath: Convert timers to use timer_setup() 2017-10-27 16:54:19 +03:00
hif_usb.c ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs() 2020-09-21 16:05:43 +03:00
hif_usb.h ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb 2020-04-07 07:57:26 +03:00
htc.h ath9k: convert tasklets to use new tasklet_setup() API 2020-08-27 13:16:18 +03:00
htc_drv_beacon.c mac80211: rename csa counters to countdown counters 2020-08-27 14:12:15 +02:00
htc_drv_debug.c wireless: Use octal not symbolic permissions 2018-03-27 11:01:13 +03:00
htc_drv_gpio.c
htc_drv_init.c ath9k: convert tasklets to use new tasklet_setup() API 2020-08-27 13:16:18 +03:00
htc_drv_main.c ath: Modify ath_key_delete() to not need full key entry 2020-12-17 08:51:17 +02:00
htc_drv_txrx.c ath9k_htc: adhere to the DONT_REORDER transmit flag 2020-12-09 09:05:20 +02:00
htc_hst.c ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb() 2020-08-17 13:24:01 +03:00
htc_hst.h
hw-ops.h
hw.c wireless: remove unneeded break 2020-11-07 13:34:22 +02:00
hw.h ath9k: Postpone key cache entry deletion for TXQ frames reference it 2020-12-17 08:51:20 +02:00
init.c ath9k: remove WDS code 2020-11-11 08:39:10 +01:00
link.c ath: Convert timers to use timer_setup() 2017-10-27 16:54:19 +03:00
mac.c ath9k: add MSI support 2018-01-16 16:29:22 +02:00
mac.h mac80211: separate encoding/bandwidth from flags 2017-04-28 10:41:45 +02:00
main.c ath9k: Postpone key cache entry deletion for TXQ frames reference it 2020-12-17 08:51:20 +02:00
mci.c ath9k: remove cast to void pointer 2017-09-25 10:13:58 +03:00
mci.h
pci.c ath9k: Check the return value of pcie_capability_read_*() 2020-07-20 20:09:36 +03:00
phy.h
recv.c ath9k: Set RX filter based to allow broadcast Action frame RX 2020-05-30 17:17:20 +03:00
reg.h ath9k: add MSI support 2018-01-16 16:29:22 +02:00
reg_aic.h
reg_mci.h
reg_wow.h
rng.c ath9k: avoid potential freezing during random generator read 2017-06-28 19:54:38 +03:00
tx99.c ath9k: add back support for using active monitor interfaces for tx99 2018-10-02 07:54:26 +03:00
wmi.c ath9k: convert tasklets to use new tasklet_setup() API 2020-08-27 13:16:18 +03:00
wmi.h ath9k: convert tasklets to use new tasklet_setup() API 2020-08-27 13:16:18 +03:00
wow.c
xmit.c ath9k: fix transmitting to stations in dynamic SMPS mode 2021-02-18 08:07:25 +02:00