summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/560-minstrel_ht_performance.patch
blob: 43ff78b3a6400d59dcad96d4f7f8ffc9c3b3e221 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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;
 }