Page MenuHomeFreeBSD

D38660.id117520.diff
No OneTemporary

D38660.id117520.diff

diff --git a/sys/net80211/ieee80211_scan_sw.c b/sys/net80211/ieee80211_scan_sw.c
--- a/sys/net80211/ieee80211_scan_sw.c
+++ b/sys/net80211/ieee80211_scan_sw.c
@@ -336,12 +336,14 @@
{
struct ieee80211com *ic = vap->iv_ic;
struct ieee80211_scan_state *ss = ic->ic_scan;
+ bool scanning;
/* XXX assert unlocked? */
// IEEE80211_UNLOCK_ASSERT(ic);
IEEE80211_LOCK(ic);
- if ((ic->ic_flags & IEEE80211_F_SCAN) == 0) {
+ scanning = ic->ic_flags & IEEE80211_F_SCAN;
+ if (!scanning) {
u_int duration;
/*
* Go off-channel for a fixed interval that is large
@@ -405,6 +407,7 @@
ic->ic_flags_ext |= IEEE80211_FEXT_BGSCAN;
ieee80211_runtask(ic,
&SCAN_PRIVATE(ss)->ss_scan_start);
+ scanning = true;
} else {
/* XXX msg+stat */
}
@@ -415,8 +418,7 @@
}
IEEE80211_UNLOCK(ic);
- /* NB: racey, does it matter? */
- return (ic->ic_flags & IEEE80211_F_SCAN);
+ return (scanning);
}
/*

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 26, 10:49 PM (14 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17810149
Default Alt Text
D38660.id117520.diff (930 B)

Event Timeline