| From 2d3db210860f1df099a35b1dd54cca35454e0361 Mon Sep 17 00:00:00 2001 |
| From: Bob Copeland <me@bobcopeland.com> |
| Date: Tue, 29 Oct 2013 18:11:59 -0400 |
| Subject: Revert "mac80211: allow disable power save in mesh" |
| |
| From: Bob Copeland <me@bobcopeland.com> |
| |
| 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 <me@bobcopeland.com> |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| net/mac80211/cfg.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/net/mac80211/cfg.c |
| +++ b/net/mac80211/cfg.c |
| @@ -2386,8 +2386,7 @@ static int ieee80211_set_power_mgmt(stru |
| 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)) |