aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-06-28 19:14:54 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-06-28 19:14:54 +0000
commit78ac19be04c06fe91d68b77c0f9e783c050f66e7 (patch)
treefaf15ee698299c80cff393da1aa388463e904552
parent9e65c50f4c456259117504f70db3362aee52b37d (diff)
downloadupstream-78ac19be04c06fe91d68b77c0f9e783c050f66e7.tar.gz
upstream-78ac19be04c06fe91d68b77c0f9e783c050f66e7.tar.bz2
upstream-78ac19be04c06fe91d68b77c0f9e783c050f66e7.zip
mac80211: fix cck rate sampling in minstrel_ht
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37078
-rw-r--r--package/kernel/mac80211/patches/300-pending_work.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/300-pending_work.patch b/package/kernel/mac80211/patches/300-pending_work.patch
index 11be868b38..824d939046 100644
--- a/package/kernel/mac80211/patches/300-pending_work.patch
+++ b/package/kernel/mac80211/patches/300-pending_work.patch
@@ -332,3 +332,25 @@
chip_reset = true;
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