aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/util.c
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2012-07-27 05:33:22 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-07-31 10:11:04 -0400
commitab09587740fddf6b4116be7b6716ab47f34d2634 (patch)
tree18c304410c82725356a3a8d6076b2f9af173b21a /net/mac80211/util.c
parent2b2b64380785bdcaaa9a123e7e5829acc749c4ca (diff)
mac80211: add PS flag to bss_conf
Currently, ps mode is indicated per device (rather than per interface), which doesn't make a lot of sense. Moreover, there are subtle bugs caused by the inability to indicate ps change along with other changes (e.g. when the AP deauth us, we'd like to indicate CHANGED_PS | CHANGED_ASSOC, as changing PS before notifying about disassociation will result in null-packets being sent (if IEEE80211_HW_SUPPORTS_DYNAMIC_PS) while the sta is already disconnected.) Keep the current per-device notifications, and add parallel per-vif notifications. In order to keep it simple, the per-device ps and the per-vif ps are orthogonal - the per-vif ps configuration is determined only by the user configuration (enable/disable) and the connection state, and is not affected by other vifs state and (temporary) dynamic_ps/offchannel operations (unlike per-device ps). Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r--net/mac80211/util.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 39b82fee490..037d148e9f1 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1359,7 +1359,8 @@ int ieee80211_reconfig(struct ieee80211_local *local)
1359 switch (sdata->vif.type) { 1359 switch (sdata->vif.type) {
1360 case NL80211_IFTYPE_STATION: 1360 case NL80211_IFTYPE_STATION:
1361 changed |= BSS_CHANGED_ASSOC | 1361 changed |= BSS_CHANGED_ASSOC |
1362 BSS_CHANGED_ARP_FILTER; 1362 BSS_CHANGED_ARP_FILTER |
1363 BSS_CHANGED_PS;
1363 mutex_lock(&sdata->u.mgd.mtx); 1364 mutex_lock(&sdata->u.mgd.mtx);
1364 ieee80211_bss_info_change_notify(sdata, changed); 1365 ieee80211_bss_info_change_notify(sdata, changed);
1365 mutex_unlock(&sdata->u.mgd.mtx); 1366 mutex_unlock(&sdata->u.mgd.mtx);