summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Bauer <mail@david-bauer.net>2023-07-05 01:35:02 +0200
committerDavid Bauer <mail@david-bauer.net>2023-07-05 12:40:34 +0200
commitd9070f8d23621931c4869980f6e5ae17abbe3e58 (patch)
treec1ae3a651fdae951fb38453fa1efff29800730c9
parent10616779f11be835da8e56918f2e0e9de3f0539f (diff)
downloadopenwrt-d9070f8d23621931c4869980f6e5ae17abbe3e58.tar.gz
openwrt-d9070f8d23621931c4869980f6e5ae17abbe3e58.tar.bz2
openwrt-d9070f8d23621931c4869980f6e5ae17abbe3e58.zip
mac80211: partly revert force-mac80211 loss detection
This patch will only force mac80211 loss detection upon ath10k by masking the driver-specific loss-detection bit. Ref: commit ed816f6ba8b5 ("mac80211: always use mac80211 loss detection") Signed-off-by: David Bauer <mail@david-bauer.net>
-rw-r--r--package/kernel/ath10k-ct/patches/988-ath10k-always-use-mac80211-loss-detection.patch28
-rw-r--r--package/kernel/mac80211/patches/ath10k/988-ath10k-always-use-mac80211-loss-detection.patch28
-rw-r--r--package/kernel/mac80211/patches/subsys/340-mac80211-always-use-mac80211-loss-detection.patch36
3 files changed, 56 insertions, 36 deletions
diff --git a/package/kernel/ath10k-ct/patches/988-ath10k-always-use-mac80211-loss-detection.patch b/package/kernel/ath10k-ct/patches/988-ath10k-always-use-mac80211-loss-detection.patch
new file mode 100644
index 0000000000..40f262464b
--- /dev/null
+++ b/package/kernel/ath10k-ct/patches/988-ath10k-always-use-mac80211-loss-detection.patch
@@ -0,0 +1,28 @@
+From f7d6edafe4358e3880a26775cfde4cd5c71ba063 Mon Sep 17 00:00:00 2001
+From: David Bauer <mail@david-bauer.net>
+Date: Wed, 5 Jul 2023 01:30:29 +0200
+Subject: [PATCH] ath10k: 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>
+---
+ ath10k-6.2/mac.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/ath10k-6.2/mac.c
++++ b/ath10k-6.2/mac.c
+@@ -11306,7 +11306,6 @@ int ath10k_mac_register(struct ath10k *a
+ ieee80211_hw_set(ar->hw, CHANCTX_STA_CSA);
+ ieee80211_hw_set(ar->hw, QUEUE_CONTROL);
+ ieee80211_hw_set(ar->hw, SUPPORTS_TX_FRAG);
+- ieee80211_hw_set(ar->hw, REPORTS_LOW_ACK);
+
+ if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags))
+ ieee80211_hw_set(ar->hw, SW_CRYPTO_CONTROL);
diff --git a/package/kernel/mac80211/patches/ath10k/988-ath10k-always-use-mac80211-loss-detection.patch b/package/kernel/mac80211/patches/ath10k/988-ath10k-always-use-mac80211-loss-detection.patch
new file mode 100644
index 0000000000..f025fea63b
--- /dev/null
+++ b/package/kernel/mac80211/patches/ath10k/988-ath10k-always-use-mac80211-loss-detection.patch
@@ -0,0 +1,28 @@
+From f7d6edafe4358e3880a26775cfde4cd5c71ba063 Mon Sep 17 00:00:00 2001
+From: David Bauer <mail@david-bauer.net>
+Date: Wed, 5 Jul 2023 01:30:29 +0200
+Subject: [PATCH] ath10k: 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>
+---
+ drivers/net/wireless/ath/ath10k/mac.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/net/wireless/ath/ath10k/mac.c
++++ b/drivers/net/wireless/ath/ath10k/mac.c
+@@ -10080,7 +10080,6 @@ int ath10k_mac_register(struct ath10k *a
+ ieee80211_hw_set(ar->hw, CHANCTX_STA_CSA);
+ ieee80211_hw_set(ar->hw, QUEUE_CONTROL);
+ ieee80211_hw_set(ar->hw, SUPPORTS_TX_FRAG);
+- ieee80211_hw_set(ar->hw, REPORTS_LOW_ACK);
+
+ if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags))
+ ieee80211_hw_set(ar->hw, SW_CRYPTO_CONTROL);
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
deleted file mode 100644
index e084773fd9..0000000000
--- a/package/kernel/mac80211/patches/subsys/340-mac80211-always-use-mac80211-loss-detection.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-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))