mac80211/minstrel_ht: fix cck rate sampling
commit 1cd1585739
upstream.
The CCK group needs special treatment to set the right flags and rate
index. Add this missing check to prevent setting broken rates for tx
packets.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
57fe9f79b9
commit
ef47a5e4f1
@ -804,10 +804,18 @@ minstrel_ht_get_rate(void *priv, struct ieee80211_sta *sta, void *priv_sta,
|
||||
|
||||
sample_group = &minstrel_mcs_groups[sample_idx / MCS_GROUP_RATES];
|
||||
info->flags |= IEEE80211_TX_CTL_RATE_CTRL_PROBE;
|
||||
rate->count = 1;
|
||||
|
||||
if (sample_idx / MCS_GROUP_RATES == MINSTREL_CCK_GROUP) {
|
||||
int idx = sample_idx % ARRAY_SIZE(mp->cck_rates);
|
||||
rate->idx = mp->cck_rates[idx];
|
||||
rate->flags = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
rate->idx = sample_idx % MCS_GROUP_RATES +
|
||||
(sample_group->streams - 1) * MCS_GROUP_RATES;
|
||||
rate->flags = IEEE80211_TX_RC_MCS | sample_group->flags;
|
||||
rate->count = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user