|
@@ -99,10 +99,13 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan)
|
|
|
}
|
|
|
mutex_unlock(&local->sta_mtx);
|
|
|
|
|
|
- /* remove all interfaces */
|
|
|
+ /* remove all interfaces that were created in the driver */
|
|
|
list_for_each_entry(sdata, &local->interfaces, list) {
|
|
|
- if (!ieee80211_sdata_running(sdata))
|
|
|
+ if (!ieee80211_sdata_running(sdata) ||
|
|
|
+ sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
|
|
|
+ sdata->vif.type == NL80211_IFTYPE_MONITOR)
|
|
|
continue;
|
|
|
+
|
|
|
drv_remove_interface(local, sdata);
|
|
|
}
|
|
|
|