| OLD | NEW |
| 1 #include <net/mac80211.h> | 1 #include <net/mac80211.h> |
| 2 #include <net/rtnetlink.h> | 2 #include <net/rtnetlink.h> |
| 3 | 3 |
| 4 #include "ieee80211_i.h" | 4 #include "ieee80211_i.h" |
| 5 #include "mesh.h" | 5 #include "mesh.h" |
| 6 #include "driver-ops.h" | 6 #include "driver-ops.h" |
| 7 #include "led.h" | 7 #include "led.h" |
| 8 | 8 |
| 9 int __ieee80211_suspend(struct ieee80211_hw *hw) | 9 int __ieee80211_suspend(struct ieee80211_hw *hw) |
| 10 { | 10 { |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 | 38 |
| 39 /* disable keys */ | 39 /* disable keys */ |
| 40 list_for_each_entry(sdata, &local->interfaces, list) | 40 list_for_each_entry(sdata, &local->interfaces, list) |
| 41 ieee80211_disable_keys(sdata); | 41 ieee80211_disable_keys(sdata); |
| 42 | 42 |
| 43 /* tear down aggregation sessions and remove STAs */ | 43 /* tear down aggregation sessions and remove STAs */ |
| 44 mutex_lock(&local->sta_mtx); | 44 mutex_lock(&local->sta_mtx); |
| 45 list_for_each_entry(sta, &local->sta_list, list) { | 45 list_for_each_entry(sta, &local->sta_list, list) { |
| 46 if (hw->flags & IEEE80211_HW_AMPDU_AGGREGATION) { | 46 if (hw->flags & IEEE80211_HW_AMPDU_AGGREGATION) { |
| 47 set_sta_flags(sta, WLAN_STA_BLOCK_BA); | 47 set_sta_flags(sta, WLAN_STA_BLOCK_BA); |
| 48 » » » ieee80211_sta_tear_down_BA_sessions(sta, true); | 48 » » » ieee80211_sta_tear_down_BA_sessions(sta); |
| 49 } | 49 } |
| 50 | 50 |
| 51 if (sta->uploaded) { | 51 if (sta->uploaded) { |
| 52 sdata = sta->sdata; | 52 sdata = sta->sdata; |
| 53 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) | 53 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) |
| 54 sdata = container_of(sdata->bss, | 54 sdata = container_of(sdata->bss, |
| 55 struct ieee80211_sub_if_data, | 55 struct ieee80211_sub_if_data, |
| 56 u.ap); | 56 u.ap); |
| 57 | 57 |
| 58 drv_sta_remove(local, sdata, &sta->sta); | 58 drv_sta_remove(local, sdata, &sta->sta); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 local->quiescing = false; | 104 local->quiescing = false; |
| 105 | 105 |
| 106 return 0; | 106 return 0; |
| 107 } | 107 } |
| 108 | 108 |
| 109 /* | 109 /* |
| 110 * __ieee80211_resume() is a static inline which just calls | 110 * __ieee80211_resume() is a static inline which just calls |
| 111 * ieee80211_reconfig(), which is also needed for hardware | 111 * ieee80211_reconfig(), which is also needed for hardware |
| 112 * hang/firmware failure/etc. recovery. | 112 * hang/firmware failure/etc. recovery. |
| 113 */ | 113 */ |
| OLD | NEW |