aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Bauer <mail@david-bauer.net>2023-05-17 12:04:00 +0200
committerDavid Bauer <mail@david-bauer.net>2023-06-23 00:23:58 +0200
commite962f866b2b7e9d413224b84fa90de7e2a1b9225 (patch)
tree039ad18735be8b43821447c1f49aaf886000529d
parentb6f2c58dd60f1e2da6c2ccfc1feb2cc1fcc158da (diff)
downloadupstream-e962f866b2b7e9d413224b84fa90de7e2a1b9225.tar.gz
upstream-e962f866b2b7e9d413224b84fa90de7e2a1b9225.tar.bz2
upstream-e962f866b2b7e9d413224b84fa90de7e2a1b9225.zip
mac80211: always use mac80211 loss detection
ath10k does not report excessive loss in case of broken block-ack sessions. The loss is communicated to the host-os, but ath10k does not trigger a low-ack events by itself. The mac80211 framework for loss detection however detects this circumstance well in case of ath10k. So use it regardless of ath10k's own loss detection mechanism. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit ed816f6ba8b5e3df609e5fc53f7bcb09bdaa16be)
-rw-r--r--package/kernel/mac80211/patches/subsys/340-mac80211-always-use-mac80211-loss-detection.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/subsys/340-mac80211-always-use-mac80211-loss-detection.patch b/package/kernel/mac80211/patches/subsys/340-mac80211-always-use-mac80211-loss-detection.patch
new file mode 100644
index 0000000000..e084773fd9
--- /dev/null
+++ b/package/kernel/mac80211/patches/subsys/340-mac80211-always-use-mac80211-loss-detection.patch
@@ -0,0 +1,36 @@
+From cdf461888f900c3a149b10a04d72b4a590ecdec3 Mon Sep 17 00:00:00 2001
+From: David Bauer <mail@david-bauer.net>
+Date: Tue, 16 May 2023 23:11:32 +0200
+Subject: [PATCH] mac80211: always use mac80211 loss detection
+
+ath10k does not report excessive loss in case of broken block-ack
+sessions. The loss is communicated to the host-os, but ath10k does not
+trigger a low-ack events by itself.
+
+The mac80211 framework for loss detection however detects this
+circumstance well in case of ath10k. So use it regardless of ath10k's
+own loss detection mechanism.
+
+Patching this in mac80211 does allow this hack to be used with any
+flavor of ath10k/ath11k.
+
+Signed-off-by: David Bauer <mail@david-bauer.net>
+---
+ net/mac80211/status.c | 6 ------
+ 1 file changed, 6 deletions(-)
+
+--- a/net/mac80211/status.c
++++ b/net/mac80211/status.c
+@@ -794,12 +794,6 @@ static void ieee80211_lost_packet(struct
+ unsigned long pkt_time = STA_LOST_PKT_TIME;
+ unsigned int pkt_thr = STA_LOST_PKT_THRESHOLD;
+
+- /* If driver relies on its own algorithm for station kickout, skip
+- * mac80211 packet loss mechanism.
+- */
+- if (ieee80211_hw_check(&sta->local->hw, REPORTS_LOW_ACK))
+- return;
+-
+ /* This packet was aggregated but doesn't carry status info */
+ if ((info->flags & IEEE80211_TX_CTL_AMPDU) &&
+ !(info->flags & IEEE80211_TX_STAT_AMPDU))