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; + }