29 lines
		
	
	
		
			957 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			957 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
From: Felix Fietkau <nbd@nbd.name>
 | 
						|
Date: Thu, 3 Nov 2016 12:10:34 +0100
 | 
						|
Subject: [PATCH] Revert "mac80211: allow using AP_LINK_PS with
 | 
						|
 mac80211-generated TIM IE"
 | 
						|
 | 
						|
This reverts commit c68df2e7be0c1238ea3c281fd744a204ef3b15a0.
 | 
						|
 | 
						|
__sta_info_recalc_tim turns into a no-op if local->ops->set_tim is not
 | 
						|
set. This prevents the beacon TIM bit from being set for all drivers
 | 
						|
that do not implement this op (almost all of them), thus thoroughly
 | 
						|
essential AP mode powersave functionality.
 | 
						|
 | 
						|
Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
 | 
						|
Fixes: c68df2e7be0c ("mac80211: allow using AP_LINK_PS with mac80211-generated TIM IE")
 | 
						|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
						|
---
 | 
						|
 | 
						|
--- a/net/mac80211/sta_info.c
 | 
						|
+++ b/net/mac80211/sta_info.c
 | 
						|
@@ -688,7 +688,7 @@ static void __sta_info_recalc_tim(struct
 | 
						|
 	}
 | 
						|
 
 | 
						|
 	/* No need to do anything if the driver does all */
 | 
						|
-	if (!local->ops->set_tim)
 | 
						|
+	if (ieee80211_hw_check(&local->hw, AP_LINK_PS))
 | 
						|
 		return;
 | 
						|
 
 | 
						|
 	if (sta->dead)
 |