aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/subsys/340-mac80211-always-use-mac80211-loss-detection.patch
blob: e084773fd9c5a46cf266244a7ba750e21c4854aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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))