Commit 161915a0 authored by John W. Linville's avatar John W. Linville
parents 718803d1 23df0b73
...@@ -229,6 +229,10 @@ void ieee80211_mps_sta_status_update(struct sta_info *sta) ...@@ -229,6 +229,10 @@ void ieee80211_mps_sta_status_update(struct sta_info *sta)
enum nl80211_mesh_power_mode pm; enum nl80211_mesh_power_mode pm;
bool do_buffer; bool do_buffer;
/* For non-assoc STA, prevent buffering or frame transmission */
if (sta->sta_state < IEEE80211_STA_ASSOC)
return;
/* /*
* use peer-specific power mode if peering is established and the * use peer-specific power mode if peering is established and the
* peer's power mode is known * peer's power mode is known
......
...@@ -99,10 +99,13 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) ...@@ -99,10 +99,13 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan)
} }
mutex_unlock(&local->sta_mtx); 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) { 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; continue;
drv_remove_interface(local, sdata); drv_remove_interface(local, sdata);
} }
......
...@@ -2247,10 +2247,13 @@ int reg_device_uevent(struct device *dev, struct kobj_uevent_env *env) ...@@ -2247,10 +2247,13 @@ int reg_device_uevent(struct device *dev, struct kobj_uevent_env *env)
void wiphy_regulatory_register(struct wiphy *wiphy) void wiphy_regulatory_register(struct wiphy *wiphy)
{ {
struct regulatory_request *lr;
if (!reg_dev_ignore_cell_hint(wiphy)) if (!reg_dev_ignore_cell_hint(wiphy))
reg_num_devs_support_basehint++; reg_num_devs_support_basehint++;
wiphy_update_regulatory(wiphy, NL80211_REGDOM_SET_BY_CORE); lr = get_last_request();
wiphy_update_regulatory(wiphy, lr->initiator);
} }
void wiphy_regulatory_deregister(struct wiphy *wiphy) void wiphy_regulatory_deregister(struct wiphy *wiphy)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment