diff options
author | Felix Fietkau <nbd@nbd.name> | 2021-02-14 19:49:11 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2021-02-18 08:07:25 +0200 |
commit | 3b9ea7206d7e1fdd7419cbd10badd3b2c80d04b4 (patch) | |
tree | 5293a7c5876bca20285c01af9b0219024342e714 /drivers/net/wireless/ath/ath9k/ath9k.h | |
parent | 773dc50d71690202afd7b5017c060c6ca8c75dd9 (diff) | |
download | linux-3b9ea7206d7e1fdd7419cbd10badd3b2c80d04b4.tar.gz |
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
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ath9k.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ath9k.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index 13b4f5f50f8a..ef6f5ea06c1f 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h @@ -177,7 +177,8 @@ struct ath_frame_info { s8 txq; u8 keyix; u8 rtscts_rate; - u8 retries : 7; + u8 retries : 6; + u8 dyn_smps : 1; u8 baw_tracked : 1; u8 tx_power; enum ath9k_key_type keytype:2; |