aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/cfg.c
diff options
context:
space:
mode:
authorMarco Porsch <marco@cozybit.com>2013-10-15 12:29:24 +0200
committerJohannes Berg <johannes.berg@intel.com>2013-10-28 15:05:26 +0100
commit446075d76b6cc48ed15c515e836dd1a1f25f4c3d (patch)
tree8e0029fb0d6bddf726c17fe141cc64072f3c4722 /net/mac80211/cfg.c
parentmac80211: Remove check for offchannel state when waking netdev queues (diff)
downloadlinux-dev-446075d76b6cc48ed15c515e836dd1a1f25f4c3d.tar.xz
linux-dev-446075d76b6cc48ed15c515e836dd1a1f25f4c3d.zip
mac80211: fixes for mesh powersave logic
This patch fixes errors in the mesh powersave logic which cause that remote peers do not get peer power mode change notifications and mesh peer service periods (MPSPs) got stuck. When closing a peer link, set the (now invalid) peer-specific power mode to 'unknown'. Avoid overhead when local power mode is unchanged. Reliably clear MPSP flags on peering status update. Avoid MPSP flags getting stuck by not requesting a further MPSP ownership if we already are an MPSP owner. Signed-off-by: Marco Porsch <marco@cozybit.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r--net/mac80211/cfg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 4a3d5a414a25..67f62dac54f5 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1343,8 +1343,8 @@ static int sta_apply_parameters(struct ieee80211_local *local,
sta->plink_state = params->plink_state;
ieee80211_mps_sta_status_update(sta);
- changed |=
- ieee80211_mps_local_status_update(sdata);
+ changed |= ieee80211_mps_set_sta_local_pm(sta,
+ NL80211_MESH_POWER_UNKNOWN);
break;
default:
/* nothing */