Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 351756
b: refs/heads/master
c: b8dc1a3
h: refs/heads/master
v: v3
  • Loading branch information
Johannes Berg committed Jan 3, 2013
1 parent 8cf216f commit 5e0c40d
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 20 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8da349329ae52462253052f804ef30d086c9911a
refs/heads/master: b8dc1a35c88dddcf62ce7bc59a7ed4c38c2f7597
6 changes: 6 additions & 0 deletions trunk/net/mac80211/driver-ops.h
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,12 @@ static inline void drv_bss_info_changed(struct ieee80211_local *local,
{
might_sleep();

WARN_ON_ONCE(changed & (BSS_CHANGED_BEACON |
BSS_CHANGED_BEACON_ENABLED) &&
sdata->vif.type != NL80211_IFTYPE_AP &&
sdata->vif.type != NL80211_IFTYPE_ADHOC &&
sdata->vif.type != NL80211_IFTYPE_MESH_POINT);

check_sdata_in_driver(sdata);

trace_drv_bss_info_changed(local, sdata, info, changed);
Expand Down
14 changes: 0 additions & 14 deletions trunk/net/mac80211/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -231,20 +231,6 @@ void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
return;
}

switch (sdata->vif.type) {
case NL80211_IFTYPE_AP:
case NL80211_IFTYPE_ADHOC:
case NL80211_IFTYPE_WDS:
case NL80211_IFTYPE_MESH_POINT:
break;
default:
/* do not warn to simplify caller in scan.c */
changed &= ~BSS_CHANGED_BEACON_ENABLED;
if (WARN_ON(changed & BSS_CHANGED_BEACON))
return;
break;
}

drv_bss_info_changed(local, sdata, &sdata->vif.bss_conf, changed);
}

Expand Down
15 changes: 10 additions & 5 deletions trunk/net/mac80211/pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan)

/* remove all interfaces */
list_for_each_entry(sdata, &local->interfaces, list) {
u32 changed = BSS_CHANGED_BEACON_ENABLED;
u32 changed = 0;

if (!ieee80211_sdata_running(sdata))
continue;
Expand All @@ -136,14 +136,19 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan)
changed = BSS_CHANGED_ASSOC |
BSS_CHANGED_BSSID |
BSS_CHANGED_IDLE;
else
changed = 0;
/* fall through */
break;
case NL80211_IFTYPE_AP:
case NL80211_IFTYPE_ADHOC:
case NL80211_IFTYPE_MESH_POINT:
if (sdata->vif.bss_conf.enable_beacon)
changed = BSS_CHANGED_BEACON_ENABLED;
break;
default:
ieee80211_quiesce(sdata);
break;
}

ieee80211_quiesce(sdata);

sdata->suspend_bss_conf = sdata->vif.bss_conf;
memset(&sdata->vif.bss_conf, 0, sizeof(sdata->vif.bss_conf));
sdata->vif.bss_conf.idle = true;
Expand Down

0 comments on commit 5e0c40d

Please sign in to comment.