2016-11-03 10:01:45 +00:00
|
|
|
From: Felix Fietkau <nbd@nbd.name>
|
2016-11-03 11:13:32 +00:00
|
|
|
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.
|
2016-11-03 10:01:45 +00:00
|
|
|
|
|
|
|
__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)
|
2016-11-03 11:13:32 +00:00
|
|
|
+ if (ieee80211_hw_check(&local->hw, AP_LINK_PS))
|
2016-11-03 10:01:45 +00:00
|
|
|
return;
|
|
|
|
|
|
|
|
if (sta->dead)
|