diff options
author | Felix Fietkau <nbd@nbd.name> | 2021-06-17 12:40:15 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2021-06-17 12:41:06 +0200 |
commit | db9784beddd01ef960833b6ad6696eb581faf605 (patch) | |
tree | 2e2457587e665da0965f145aad09118ffe9f9355 | |
parent | a0f97d8f9cb068305319012b50de092ee01ad7a1 (diff) | |
download | upstream-db9784beddd01ef960833b6ad6696eb581faf605.tar.gz upstream-db9784beddd01ef960833b6ad6696eb581faf605.tar.bz2 upstream-db9784beddd01ef960833b6ad6696eb581faf605.zip |
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@nbd.name>
-rw-r--r-- | package/kernel/mac80211/patches/subsys/377-mac80211-minstrel_ht-fix-sample-time-check.patch | 23 |
1 files changed, 23 insertions, 0 deletions
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@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@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; |