diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-02-03 19:57:16 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-02-03 19:57:16 +0300 |
commit | 3fe9cf390f6dc84f76b112b0a660967a84f9a81b (patch) | |
tree | 18b8573687ae8131db155aa791f4d2357d91e6c5 /net/mac80211/pm.c | |
parent | 6ccd93bdb989507717edb375d40534f1177822c5 (diff) | |
parent | 830953c0724b42be30a74febcde6c89c706ed286 (diff) | |
download | linux-3fe9cf390f6dc84f76b112b0a660967a84f9a81b.tar.xz |
Merge branch 'topic/snd-device' into for-next
Diffstat (limited to 'net/mac80211/pm.c')
-rw-r--r-- | net/mac80211/pm.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/net/mac80211/pm.c b/net/mac80211/pm.c index 4c5192e0d66c..4a95fe3cffbc 100644 --- a/net/mac80211/pm.c +++ b/net/mac80211/pm.c @@ -86,20 +86,6 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) } } - /* tear down aggregation sessions and remove STAs */ - mutex_lock(&local->sta_mtx); - list_for_each_entry(sta, &local->sta_list, list) { - if (sta->uploaded) { - enum ieee80211_sta_state state; - - state = sta->sta_state; - for (; state > IEEE80211_STA_NOTEXIST; state--) - WARN_ON(drv_sta_state(local, sta->sdata, sta, - state, state - 1)); - } - } - mutex_unlock(&local->sta_mtx); - /* remove all interfaces that were created in the driver */ list_for_each_entry(sdata, &local->interfaces, list) { if (!ieee80211_sdata_running(sdata)) @@ -111,6 +97,21 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) case NL80211_IFTYPE_STATION: ieee80211_mgd_quiesce(sdata); break; + case NL80211_IFTYPE_WDS: + /* tear down aggregation sessions and remove STAs */ + mutex_lock(&local->sta_mtx); + sta = sdata->u.wds.sta; + if (sta && sta->uploaded) { + enum ieee80211_sta_state state; + + state = sta->sta_state; + for (; state > IEEE80211_STA_NOTEXIST; state--) + WARN_ON(drv_sta_state(local, sta->sdata, + sta, state, + state - 1)); + } + mutex_unlock(&local->sta_mtx); + break; default: break; } |