linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mac80211: fix sw scan bracketing
@ 2010-06-18 10:32 Johannes Berg
  2010-07-27  8:04 ` Luis R. Rodriguez
  0 siblings, 1 reply; 11+ messages in thread
From: Johannes Berg @ 2010-06-18 10:32 UTC (permalink / raw)
  To: John Linville; +Cc: linux-wireless

From: Johannes Berg <johannes.berg@intel.com>

Currently, detection in hwsim and ath9k can
detect that two sw scans are in flight at the
same time, which isn't really true. It is
caused by a race condition, because the scan
complete callback is called too late, after
the lock has been dropped, so that a new scan
can be started before it is called.

It is also called too early semantically, as
it is currently called _after_ the return to
the operating channel -- it should be before
so that drivers know this is the operating
channel again.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
 net/mac80211/scan.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- wireless-testing.orig/net/mac80211/scan.c	2010-06-18 12:22:56.000000000 +0200
+++ wireless-testing/net/mac80211/scan.c	2010-06-18 12:23:25.000000000 +0200
@@ -287,6 +287,8 @@ void ieee80211_scan_completed(struct iee
 	local->scanning = 0;
 	local->scan_channel = NULL;
 
+	drv_sw_scan_complete(local);
+
 	/* we only have to protect scan_req and hw/sw scan */
 	mutex_unlock(&local->scan_mtx);
 
@@ -296,8 +298,6 @@ void ieee80211_scan_completed(struct iee
 
 	ieee80211_configure_filter(local);
 
-	drv_sw_scan_complete(local);
-
 	ieee80211_offchannel_return(local, true);
 
  done:



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2010-09-13 22:23 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-18 10:32 [PATCH] mac80211: fix sw scan bracketing Johannes Berg
2010-07-27  8:04 ` Luis R. Rodriguez
2010-07-27  8:27   ` Luis R. Rodriguez
2010-07-27  9:22     ` Luis R. Rodriguez
2010-07-27  9:30       ` Luis R. Rodriguez
2010-07-27  9:31         ` Luis R. Rodriguez
2010-07-27 10:22       ` Johannes Berg
2010-07-27 15:54         ` Luis R. Rodriguez
2010-07-27 17:29           ` Luis R. Rodriguez
2010-07-27 20:09             ` Johannes Berg
2010-09-13 22:22       ` Luis R. Rodriguez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).