summaryrefslogtreecommitdiffstats
path: root/package/mac80211
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211')
-rw-r--r--package/mac80211/patches/560-minstrel_ht_performance.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/package/mac80211/patches/560-minstrel_ht_performance.patch b/package/mac80211/patches/560-minstrel_ht_performance.patch
new file mode 100644
index 000000000..43ff78b3a
--- /dev/null
+++ b/package/mac80211/patches/560-minstrel_ht_performance.patch
@@ -0,0 +1,31 @@
+--- a/net/mac80211/rc80211_minstrel_ht.h
++++ b/net/mac80211/rc80211_minstrel_ht.h
+@@ -103,6 +103,7 @@ struct minstrel_ht_sta {
+ u8 sample_tries;
+ u8 sample_count;
+ u8 sample_slow;
++ u8 sample_retry;
+
+ /* current MCS group to be sampled */
+ u8 sample_group;
+--- a/net/mac80211/rc80211_minstrel_ht.c
++++ b/net/mac80211/rc80211_minstrel_ht.c
+@@ -261,6 +261,7 @@ minstrel_ht_update_stats(struct minstrel
+
+ /* try to sample up to half of the availble rates during each interval */
+ mi->sample_count *= 4;
++ mi->sample_retry = mi->sample_count;
+
+ cur_prob = 0;
+ cur_prob_tp = 0;
+@@ -572,6 +573,10 @@ minstrel_get_sample_rate(struct minstrel
+ return sample_idx;
+
+ next:
++ if (mi->sample_retry > 0) {
++ mi->sample_retry--;
++ mi->sample_tries++;
++ }
+ minstrel_next_sample_idx(mi);
+ return -1;
+ }