aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/subsys/334-mac80211-minstrel-remove-deferred-sampling-code.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2020-11-07 17:50:20 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2021-02-14 15:13:40 +0100
commitbf6f7cf29bdbf1fcd1176184d759d2a51a17b730 (patch)
tree9bbf079a2cf5c20b44217b8ad30eaf4a650e445b /package/kernel/mac80211/patches/subsys/334-mac80211-minstrel-remove-deferred-sampling-code.patch
parent1caa81e505a1da0ebd70351996e382fa9dafaa8d (diff)
downloadupstream-bf6f7cf29bdbf1fcd1176184d759d2a51a17b730.tar.gz
upstream-bf6f7cf29bdbf1fcd1176184d759d2a51a17b730.tar.bz2
upstream-bf6f7cf29bdbf1fcd1176184d759d2a51a17b730.zip
mac80211: Update to version 5.9.12-1
The removed patches were applied upstream. Remove the 300-mac80211-optimize-skb-resizing.patch. This patch was not applied upstream, but it conflicts with upstream changes and needs bigger changes. It was applied with Felix to remove this patch for now. It should be reworked and then send upstream later. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'package/kernel/mac80211/patches/subsys/334-mac80211-minstrel-remove-deferred-sampling-code.patch')
-rw-r--r--package/kernel/mac80211/patches/subsys/334-mac80211-minstrel-remove-deferred-sampling-code.patch96
1 files changed, 0 insertions, 96 deletions
diff --git a/package/kernel/mac80211/patches/subsys/334-mac80211-minstrel-remove-deferred-sampling-code.patch b/package/kernel/mac80211/patches/subsys/334-mac80211-minstrel-remove-deferred-sampling-code.patch
deleted file mode 100644
index e3a877fb94..0000000000
--- a/package/kernel/mac80211/patches/subsys/334-mac80211-minstrel-remove-deferred-sampling-code.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Wed, 11 Nov 2020 19:17:44 +0100
-Subject: [PATCH] mac80211: minstrel: remove deferred sampling code
-
-Deferring sampling attempts to the second stage has some bad interactions
-with drivers that process the rate table in hardware and use the probe flag
-to indicate probing packets (e.g. most mt76 drivers). On affected drivers
-it can lead to probing not working at all.
-
-If the link conditions turn worse, it might not be such a good idea to
-do a lot of sampling for lower rates in this case.
-
-Fix this by simply skipping the sample attempt instead of deferring it,
-but keep the checks that would allow it to be sampled if it was skipped
-too often, but only if it has less than 95% success probability.
-
-Also ensure that IEEE80211_TX_CTL_RATE_CTRL_PROBE is set for all probing
-packets.
-
-Cc: stable@vger.kernel.org
-Fixes: cccf129f820e ("mac80211: add the 'minstrel' rate control algorithm")
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/rc80211_minstrel.c
-+++ b/net/mac80211/rc80211_minstrel.c
-@@ -287,12 +287,6 @@ minstrel_tx_status(void *priv, struct ie
- mi->r[ndx].stats.success += success;
- }
-
-- if ((info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE) && (i >= 0))
-- mi->sample_packets++;
--
-- if (mi->sample_deferred > 0)
-- mi->sample_deferred--;
--
- if (time_after(jiffies, mi->last_stats_update +
- mp->update_interval / (mp->new_avg ? 2 : 1)))
- minstrel_update_stats(mp, mi);
-@@ -367,7 +361,7 @@ minstrel_get_rate(void *priv, struct iee
- return;
-
- delta = (mi->total_packets * sampling_ratio / 100) -
-- (mi->sample_packets + mi->sample_deferred / 2);
-+ mi->sample_packets;
-
- /* delta < 0: no sampling required */
- prev_sample = mi->prev_sample;
-@@ -376,7 +370,6 @@ minstrel_get_rate(void *priv, struct iee
- return;
-
- if (mi->total_packets >= 10000) {
-- mi->sample_deferred = 0;
- mi->sample_packets = 0;
- mi->total_packets = 0;
- } else if (delta > mi->n_rates * 2) {
-@@ -401,19 +394,8 @@ minstrel_get_rate(void *priv, struct iee
- * rate sampling method should be used.
- * Respect such rates that are not sampled for 20 interations.
- */
-- if (mrr_capable &&
-- msr->perfect_tx_time > mr->perfect_tx_time &&
-- msr->stats.sample_skipped < 20) {
-- /* Only use IEEE80211_TX_CTL_RATE_CTRL_PROBE to mark
-- * packets that have the sampling rate deferred to the
-- * second MRR stage. Increase the sample counter only
-- * if the deferred sample rate was actually used.
-- * Use the sample_deferred counter to make sure that
-- * the sampling is not done in large bursts */
-- info->flags |= IEEE80211_TX_CTL_RATE_CTRL_PROBE;
-- rate++;
-- mi->sample_deferred++;
-- } else {
-+ if (msr->perfect_tx_time < mr->perfect_tx_time ||
-+ msr->stats.sample_skipped >= 20) {
- if (!msr->sample_limit)
- return;
-
-@@ -433,6 +415,7 @@ minstrel_get_rate(void *priv, struct iee
-
- rate->idx = mi->r[ndx].rix;
- rate->count = minstrel_get_retry_count(&mi->r[ndx], info);
-+ info->flags |= IEEE80211_TX_CTL_RATE_CTRL_PROBE;
- }
-
-
---- a/net/mac80211/rc80211_minstrel.h
-+++ b/net/mac80211/rc80211_minstrel.h
-@@ -126,7 +126,6 @@ struct minstrel_sta_info {
- u8 max_prob_rate;
- unsigned int total_packets;
- unsigned int sample_packets;
-- int sample_deferred;
-
- unsigned int sample_row;
- unsigned int sample_column;