diff options
author | Eliad Peller <eliad@wizery.com> | 2015-10-25 10:59:33 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2015-11-03 10:42:05 +0100 |
commit | 0d440ea294a00b60ced66c0bc5cb5caa42fd4fbd (patch) | |
tree | 0f8e7a81bc3843836a4557cb8adbe5d9a34ff34f /net/mac80211/cfg.c | |
parent | 968a76cef3d1bb9a3b4d135cd788056e742859f3 (diff) | |
download | lwn-0d440ea294a00b60ced66c0bc5cb5caa42fd4fbd.tar.gz lwn-0d440ea294a00b60ced66c0bc5cb5caa42fd4fbd.zip |
mac80211: don't reconfigure sched scan in case of wowlan
Scheduled scan has to be reconfigured only if wowlan wasn't
configured, since otherwise it should continue to run (with
the 'any' trigger) or be aborted.
The current code will end up asking the driver to start a new
scheduled scan without stopping the previous one, and leaking
some memory (from the previous request.)
Fix this by doing the abort/restart under the proper conditions.
Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r-- | net/mac80211/cfg.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 713cdbf6fb3c..c2bd1b6a6922 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -2010,12 +2010,12 @@ ieee80211_sched_scan_start(struct wiphy *wiphy, static int ieee80211_sched_scan_stop(struct wiphy *wiphy, struct net_device *dev) { - struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); + struct ieee80211_local *local = wiphy_priv(wiphy); - if (!sdata->local->ops->sched_scan_stop) + if (!local->ops->sched_scan_stop) return -EOPNOTSUPP; - return ieee80211_request_sched_scan_stop(sdata); + return ieee80211_request_sched_scan_stop(local); } static int ieee80211_auth(struct wiphy *wiphy, struct net_device *dev, |