diff options
author | Eliad Peller <eliad@wizery.com> | 2012-07-29 15:25:10 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-07-30 09:14:36 +0200 |
commit | ba846a502c6b3c0ff047861c891fd1afeed6e435 (patch) | |
tree | e71626a91e87c8ca45fe087c4eb61cb157def739 /net/mac80211 | |
parent | Merge remote-tracking branch 'wireless/master' into mac80211 (diff) | |
download | linux-ba846a502c6b3c0ff047861c891fd1afeed6e435.tar.xz linux-ba846a502c6b3c0ff047861c891fd1afeed6e435.zip |
mac80211: don't clear sched_scan_sdata on sched scan stop request
ieee80211_request_sched_scan_stop() cleared
local->sched_scan_sdata. However, sched_scan_sdata
should be cleared only after the driver calls
ieee80211_sched_scan_stopped() (like with normal hw scan).
Clearing sched_scan_sdata too early caused
ieee80211_sched_scan_stopped_work to exit prematurely
without properly cleaning all the sched scan resources
and without calling cfg80211_sched_scan_stopped (so
userspace wasn't notified about sched scan completion).
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/scan.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c index df36280ed78f..839dd9737989 100644 --- a/net/mac80211/scan.c +++ b/net/mac80211/scan.c @@ -984,7 +984,6 @@ int ieee80211_request_sched_scan_stop(struct ieee80211_sub_if_data *sdata) kfree(local->sched_scan_ies.ie[i]); drv_sched_scan_stop(local, sdata); - rcu_assign_pointer(local->sched_scan_sdata, NULL); } out: mutex_unlock(&local->mtx); |