b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -565,7 +565,7 @@ static u32 ath_lookup_rate(struct ath_so
*/
max_4ms_framelen = ATH_AMPDU_LIMIT_MAX;
- for (i = 0; i < 4; i++) {
+ for (i = 0; i < 1; i++) {
if (rates[i].count) {
int modeidx;
if (!(rates[i].flags & IEEE80211_TX_RC_MCS)) {
@@ -1553,6 +1553,9 @@ static void ath_buf_set_rate(struct ath_
if (sc->sc_flags & SC_OP_PREAMBLE_SHORT)
ctsrate |= rate->hw_value_short;
+ if (bf_isaggr(bf))
+ rates[1].count = rates[2].count = rates[3].count = 0;
+
for (i = 0; i < 4; i++) {
bool is_40, is_sgi, is_sp;
int phy;