[openwrt/openwrt] mac80211: fix minstrel sample time check

LEDE Commits lede-commits at lists.infradead.org
Thu Jun 17 03:41:32 PDT 2021


nbd pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/db9784beddd01ef960833b6ad6696eb581faf605

commit db9784beddd01ef960833b6ad6696eb581faf605
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Thu Jun 17 12:40:15 2021 +0200

    mac80211: fix minstrel sample time check
    
    We need to skip sampling if the next sample time is after jiffies, not before.
    This patch fixes an issue where in some cases only very little sampling (or none
    at all) is performed, leading to really bad data rates
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 ...ac80211-minstrel_ht-fix-sample-time-check.patch | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/package/kernel/mac80211/patches/subsys/377-mac80211-minstrel_ht-fix-sample-time-check.patch b/package/kernel/mac80211/patches/subsys/377-mac80211-minstrel_ht-fix-sample-time-check.patch
new file mode 100644
index 0000000000..787254b4df
--- /dev/null
+++ b/package/kernel/mac80211/patches/subsys/377-mac80211-minstrel_ht-fix-sample-time-check.patch
@@ -0,0 +1,23 @@
+From: Felix Fietkau <nbd at nbd.name>
+Date: Thu, 17 Jun 2021 12:05:54 +0200
+Subject: [PATCH] mac80211: minstrel_ht: fix sample time check
+
+We need to skip sampling if the next sample time is after jiffies, not before.
+This patch fixes an issue where in some cases only very little sampling (or none
+at all) is performed, leading to really bad data rates
+
+Fixes: 80d55154b2f8 ("mac80211: minstrel_ht: significantly redesign the rate probing strategy")
+Signed-off-by: Felix Fietkau <nbd at nbd.name>
+---
+
+--- a/net/mac80211/rc80211_minstrel_ht.c
++++ b/net/mac80211/rc80211_minstrel_ht.c
+@@ -1498,7 +1498,7 @@ minstrel_ht_get_rate(void *priv, struct
+ 	    (info->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO))
+ 		return;
+ 
+-	if (time_is_before_jiffies(mi->sample_time))
++	if (time_is_after_jiffies(mi->sample_time))
+ 		return;
+ 
+ 	mi->sample_time = jiffies + MINSTREL_SAMPLE_INTERVAL;



More information about the lede-commits mailing list