diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-12-14 14:17:26 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-01-03 13:01:36 +0100 |
commit | 8da349329ae52462253052f804ef30d086c9911a (patch) | |
tree | ef385a3023ae0391a34c1c289c3b6bc6383e7cff | |
parent | d6a83228823fc0cc8d79d95c9f0bf568b7317862 (diff) | |
download | linux-8da349329ae52462253052f804ef30d086c9911a.tar.gz linux-8da349329ae52462253052f804ef30d086c9911a.tar.bz2 linux-8da349329ae52462253052f804ef30d086c9911a.zip |
mac80211: reconfig bss_info_changed only if beaconing
For AP/IBSS/mesh interfaces, call the driver to reconfigure
bss_info_changed only if the interface was beaconing before
suspend, otherwise we call the driver and it might interpret
the change as going from enabled to disabled.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | net/mac80211/util.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 2e2e13bf96b2..e27c89c27bf4 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -1555,9 +1555,11 @@ int ieee80211_reconfig(struct ieee80211_local *local) /* fall through */ case NL80211_IFTYPE_MESH_POINT: - changed |= BSS_CHANGED_BEACON | - BSS_CHANGED_BEACON_ENABLED; - ieee80211_bss_info_change_notify(sdata, changed); + if (sdata->vif.bss_conf.enable_beacon) { + changed |= BSS_CHANGED_BEACON | + BSS_CHANGED_BEACON_ENABLED; + ieee80211_bss_info_change_notify(sdata, changed); + } break; case NL80211_IFTYPE_WDS: break; |