mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 01:28:59 +00:00
4dfc0be07b
Signed-off-by: Felix Fietkau <nbd@nbd.name>
28 lines
976 B
Diff
28 lines
976 B
Diff
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Thu, 3 Nov 2016 10:47:21 +0100
|
|
Subject: [PATCH] mac80211: fix broken AP mode handling of powersave clients
|
|
|
|
Commit c68df2e7be0c ("mac80211: allow using AP_LINK_PS with
|
|
mac80211-generated TIM IE") introduced a logic error, where
|
|
__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 (local->ops->set_tim)
|
|
return;
|
|
|
|
if (sta->dead)
|