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
commit12dc59d5462b9f0bdc2e93aba9c4eaa4140e83da (patch)
tree9240d804f4157ec16f9d7e137dc8a0ed5502dd1b
parenteaf4cb4c6d4055c0eef9c0bf5b494e10d5d63452 (diff)
downloadmaster-187ad058-12dc59d5462b9f0bdc2e93aba9c4eaa4140e83da.tar.gz
master-187ad058-12dc59d5462b9f0bdc2e93aba9c4eaa4140e83da.tar.bz2
master-187ad058-12dc59d5462b9f0bdc2e93aba9c4eaa4140e83da.zip
mac80211: fix cck rate sampling in minstrel_ht
Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37078 3c298f89-4303-0410-b956-a3cf2f4a3e73
-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