mac80211: fix cck rate sampling in minstrel_ht

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37078
This commit is contained in:
Felix Fietkau 2013-06-28 19:14:54 +00:00
parent 9e65c50f4c
commit 78ac19be04

View file

@ -332,3 +332,25 @@
chip_reset = true; chip_reset = true;
mutex_unlock(&priv->htc_pm_lock); mutex_unlock(&priv->htc_pm_lock);
--- a/net/mac80211/rc80211_minstrel_ht.c
+++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -804,10 +804,18 @@ minstrel_ht_get_rate(void *priv, struct
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