mac80211: always use mac80211 loss detection
[openwrt/staging/hauke.git] / package / kernel / mac80211 / patches / subsys / 340-mac80211-always-use-mac80211-loss-detection.patch
1 From cdf461888f900c3a149b10a04d72b4a590ecdec3 Mon Sep 17 00:00:00 2001
2 From: David Bauer <mail@david-bauer.net>
3 Date: Tue, 16 May 2023 23:11:32 +0200
4 Subject: [PATCH] mac80211: always use mac80211 loss detection
5
6 ath10k does not report excessive loss in case of broken block-ack
7 sessions. The loss is communicated to the host-os, but ath10k does not
8 trigger a low-ack events by itself.
9
10 The mac80211 framework for loss detection however detects this
11 circumstance well in case of ath10k. So use it regardless of ath10k's
12 own loss detection mechanism.
13
14 Patching this in mac80211 does allow this hack to be used with any
15 flavor of ath10k/ath11k.
16
17 Signed-off-by: David Bauer <mail@david-bauer.net>
18 ---
19 net/mac80211/status.c | 6 ------
20 1 file changed, 6 deletions(-)
21
22 --- a/net/mac80211/status.c
23 +++ b/net/mac80211/status.c
24 @@ -794,12 +794,6 @@ static void ieee80211_lost_packet(struct
25 unsigned long pkt_time = STA_LOST_PKT_TIME;
26 unsigned int pkt_thr = STA_LOST_PKT_THRESHOLD;
27
28 - /* If driver relies on its own algorithm for station kickout, skip
29 - * mac80211 packet loss mechanism.
30 - */
31 - if (ieee80211_hw_check(&sta->local->hw, REPORTS_LOW_ACK))
32 - return;
33 -
34 /* This packet was aggregated but doesn't carry status info */
35 if ((info->flags & IEEE80211_TX_CTL_AMPDU) &&
36 !(info->flags & IEEE80211_TX_STAT_AMPDU))