mac80211: minstrel_ht: fix regression in the max_prob_rate fix
authorFelix Fietkau <nbd@nbd.name>
Tue, 26 Jan 2021 15:46:19 +0000 (16:46 +0100)
committerFelix Fietkau <nbd@nbd.name>
Tue, 26 Jan 2021 15:46:45 +0000 (16:46 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/kernel/mac80211/patches/subsys/352-mac80211-minstrel_ht-fix-regression-in-the-max_prob_.patch [new file with mode: 0644]

diff --git a/package/kernel/mac80211/patches/subsys/352-mac80211-minstrel_ht-fix-regression-in-the-max_prob_.patch b/package/kernel/mac80211/patches/subsys/352-mac80211-minstrel_ht-fix-regression-in-the-max_prob_.patch
new file mode 100644 (file)
index 0000000..a366a92
--- /dev/null
@@ -0,0 +1,23 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Tue, 26 Jan 2021 16:40:52 +0100
+Subject: [PATCH] mac80211: minstrel_ht: fix regression in the max_prob_rate
+ fix
+
+Since mi->max_prob_rate is overwritten after the loop that calls
+minstrel_ht_set_best_prob_rate, the new best rate needs to be written to *dest
+
+Fixes: a7fca4e4037f ("mac80211: minstrel_ht: fix max probability rate selection")
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/net/mac80211/rc80211_minstrel_ht.c
++++ b/net/mac80211/rc80211_minstrel_ht.c
+@@ -545,7 +545,7 @@ minstrel_ht_set_best_prob_rate(struct mi
+               cur_tp_avg = minstrel_ht_get_tp_avg(mi, cur_group, cur_idx,
+                                                   mrs->prob_avg);
+               if (cur_tp_avg > tmp_tp_avg)
+-                      mi->max_prob_rate = index;
++                      *dest = index;
+               max_gpr_tp_avg = minstrel_ht_get_tp_avg(mi, max_gpr_group,
+                                                       max_gpr_idx,