diff options
author | Eliad Peller <eliad@wizery.com> | 2012-07-29 16:25:10 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-07-30 09:14:36 +0200 |
commit | ba846a502c6b3c0ff047861c891fd1afeed6e435 (patch) | |
tree | e71626a91e87c8ca45fe087c4eb61cb157def739 /net/mac80211/scan.c | |
parent | fcb06702f023a0e7b1e6ebf9746f34b610ca0508 (diff) | |
download | linux-3.10-ba846a502c6b3c0ff047861c891fd1afeed6e435.tar.gz linux-3.10-ba846a502c6b3c0ff047861c891fd1afeed6e435.tar.bz2 linux-3.10-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/scan.c')
-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 df36280ed78..839dd973798 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); |