From: Bob Copeland Date: Tue, 29 Oct 2013 22:11:59 +0000 (-0400) Subject: Revert "mac80211: allow disable power save in mesh" X-Git-Tag: firefly_0821_release~3679^2~3295 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9697f64ab623045dc189b8ac7f2509d68694ef8d;p=firefly-linux-kernel-4.4.55.git Revert "mac80211: allow disable power save in mesh" commit 2d3db210860f1df099a35b1dd54cca35454e0361 upstream. This reverts commit ee1f668136b2fb6640ee2d54c2a525ea41f98211. The aformentioned commit added a check to allow 'iw wlan0 set power_save off' to work for mesh interfaces. However, this is problematic because it also allows 'iw wlan0 set power_save on', which will crash in short order because all of the subsequent code manipulates sdata->u.mgd. The power-saving states for mesh interfaces can be manipulated through the mesh config, e.g: 'iw wlan0 set mesh_param mesh_power_save=active' (which, despite the name, actualy disables power saving since the setting refers to the type of sleep the interface undergoes). Fixes: ee1f668136b2 ("mac80211: allow disable power save in mesh") Signed-off-by: Bob Copeland Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 5ab17b82605d..18687f1fca75 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -2356,8 +2356,7 @@ static int ieee80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *dev, struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); - if (sdata->vif.type != NL80211_IFTYPE_STATION && - sdata->vif.type != NL80211_IFTYPE_MESH_POINT) + if (sdata->vif.type != NL80211_IFTYPE_STATION) return -EOPNOTSUPP; if (!(local->hw.flags & IEEE80211_HW_SUPPORTS_PS))