summaryrefslogtreecommitdiffstats
path: root/net/mac80211/work.c
diff options
context:
space:
mode:
authorStanislaw Gruszka <sgruszka@redhat.com>2012-03-28 16:01:19 +0200
committerJohn W. Linville <linville@tuxdriver.com>2012-04-13 14:31:49 -0400
commit133d40f9a22bdfd2617a446f1e3209537c5415ec (patch)
treef1a1cf510935348bede001983773a879df94fce5 /net/mac80211/work.c
parentf277683477c7bdff8236e731cf882b3ef89dde0d (diff)
downloadlinux-133d40f9a22bdfd2617a446f1e3209537c5415ec.tar.gz
linux-133d40f9a22bdfd2617a446f1e3209537c5415ec.tar.bz2
linux-133d40f9a22bdfd2617a446f1e3209537c5415ec.zip
mac80211: do not scan and monitor connection in parallel
Before we send probes in connection monitoring we check if scan is not pending. But we do that check without locking. Fix that and also do not start scan if connection monitoring is in progress. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/work.c')
-rw-r--r--net/mac80211/work.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/net/mac80211/work.c b/net/mac80211/work.c
index c6e230efa049..1f74af33901b 100644
--- a/net/mac80211/work.c
+++ b/net/mac80211/work.c
@@ -226,13 +226,8 @@ static void ieee80211_work_work(struct work_struct *work)
run_again(local, jiffies + HZ/2);
}
- if (list_empty(&local->work_list) && local->scan_req &&
- !local->scanning)
- ieee80211_queue_delayed_work(&local->hw,
- &local->scan_work,
- round_jiffies_relative(0));
-
ieee80211_recalc_idle(local);
+ ieee80211_run_deferred_scan(local);
mutex_unlock(&local->mtx);