diff options
Diffstat (limited to 'net/mac80211/pm.c')
-rw-r--r-- | net/mac80211/pm.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/net/mac80211/pm.c b/net/mac80211/pm.c index 596efaf50e09..2b53a5348ace 100644 --- a/net/mac80211/pm.c +++ b/net/mac80211/pm.c | |||
@@ -98,13 +98,12 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) | |||
98 | mutex_lock(&local->sta_mtx); | 98 | mutex_lock(&local->sta_mtx); |
99 | list_for_each_entry(sta, &local->sta_list, list) { | 99 | list_for_each_entry(sta, &local->sta_list, list) { |
100 | if (sta->uploaded) { | 100 | if (sta->uploaded) { |
101 | sdata = sta->sdata; | 101 | enum ieee80211_sta_state state; |
102 | if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) | ||
103 | sdata = container_of(sdata->bss, | ||
104 | struct ieee80211_sub_if_data, | ||
105 | u.ap); | ||
106 | 102 | ||
107 | drv_sta_remove(local, sdata, &sta->sta); | 103 | state = sta->sta_state; |
104 | for (; state > IEEE80211_STA_NOTEXIST; state--) | ||
105 | WARN_ON(drv_sta_state(local, sdata, sta, | ||
106 | state, state - 1)); | ||
108 | } | 107 | } |
109 | 108 | ||
110 | mesh_plink_quiesce(sta); | 109 | mesh_plink_quiesce(sta); |