diff options
Diffstat (limited to 'net/mac80211/pm.c')
-rw-r--r-- | net/mac80211/pm.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/net/mac80211/pm.c b/net/mac80211/pm.c index c65ff471acce..af49ac4f0826 100644 --- a/net/mac80211/pm.c +++ b/net/mac80211/pm.c | |||
@@ -97,9 +97,17 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) | |||
97 | /* tear down aggregation sessions and remove STAs */ | 97 | /* tear down aggregation sessions and remove STAs */ |
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 | enum ieee80211_sta_state state; | ||
102 | |||
101 | drv_sta_remove(local, sta->sdata, &sta->sta); | 103 | drv_sta_remove(local, sta->sdata, &sta->sta); |
102 | 104 | ||
105 | state = sta->sta_state; | ||
106 | for (; state > IEEE80211_STA_NOTEXIST; state--) | ||
107 | WARN_ON(drv_sta_state(local, sdata, sta, | ||
108 | state, state - 1)); | ||
109 | } | ||
110 | |||
103 | mesh_plink_quiesce(sta); | 111 | mesh_plink_quiesce(sta); |
104 | } | 112 | } |
105 | mutex_unlock(&local->sta_mtx); | 113 | mutex_unlock(&local->sta_mtx); |