diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-12-13 17:16:45 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-01-03 13:01:34 +0100 |
commit | 529ba6e9313dbe60dab7e72c6fdf647a012e9f5b (patch) | |
tree | a556b0d18baf4309ebf705715440e702d5acb86b /net/mac80211/util.c | |
parent | mac80211: clean up ieee80211_quiesce (diff) | |
download | linux-529ba6e9313dbe60dab7e72c6fdf647a012e9f5b.tar.xz linux-529ba6e9313dbe60dab7e72c6fdf647a012e9f5b.zip |
mac80211: clean up association better in suspend
When suspending, bss_info_changed() is called to
disable beacons, but managed mode interfaces are
simply removed (bss_info_changed() is called with
"no change" only). This can lead to problems.
To fix this and copy the BSS configuration, clear
it during suspend and restore it on resume.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 051313f0d1c2..2e2e13bf96b2 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -1526,6 +1526,11 @@ int ieee80211_reconfig(struct ieee80211_local *local) BSS_CHANGED_IDLE | BSS_CHANGED_TXPOWER; +#ifdef CONFIG_PM + if (local->resuming) + sdata->vif.bss_conf = sdata->suspend_bss_conf; +#endif + switch (sdata->vif.type) { case NL80211_IFTYPE_STATION: changed |= BSS_CHANGED_ASSOC | |