Skip to content

Commit b2911a8

Browse files
nbd168jmberg-intel
authored andcommitted
mac80211: minstrel: fix tx status processing corner case
Some drivers fill the status rate list without setting the rate index after the final rate to -1. minstrel_ht already deals with this, but minstrel doesn't, which causes it to get stuck at the lowest rate on these drivers. Fix this by checking the count as well. Cc: stable@vger.kernel.org Fixes: cccf129 ("mac80211: add the 'minstrel' rate control algorithm") Signed-off-by: Felix Fietkau <nbd@nbd.name> Link: https://lore.kernel.org/r/20201111183359.43528-3-nbd@nbd.name Signed-off-by: Johannes Berg <johannes.berg@intel.com>
1 parent 4fe40b8 commit b2911a8

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

net/mac80211/rc80211_minstrel.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ minstrel_tx_status(void *priv, struct ieee80211_supported_band *sband,
274274
success = !!(info->flags & IEEE80211_TX_STAT_ACK);
275275

276276
for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) {
277-
if (ar[i].idx < 0)
277+
if (ar[i].idx < 0 || !ar[i].count)
278278
break;
279279

280280
ndx = rix_to_ndx(mi, ar[i].idx);

0 commit comments

Comments
 (0)