mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	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>
This commit is contained in:
		
							parent
							
								
									1b467a902e
								
							
						
					
					
						commit
						ed816f6ba8
					
				@ -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))
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user