diff options
author | sam <sam@FreeBSD.org> | 2006-03-06 17:23:26 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2006-03-06 17:23:26 +0000 |
commit | d3539a10d4a53f5fd3a54756999431b21064ff5e (patch) | |
tree | 6b913e3d2fa3db34c737f663875e5a355a66e686 /sys/net80211/ieee80211_proto.c | |
parent | 042a9c9ce37225467a4d0b0a5a8198a135aff48c (diff) | |
download | FreeBSD-src-d3539a10d4a53f5fd3a54756999431b21064ff5e.zip FreeBSD-src-d3539a10d4a53f5fd3a54756999431b21064ff5e.tar.gz |
when scanning channels marked passive defer probe request until
802.11 traffic is seen; fixes problems with ap's hiding their ssid
Obtained from: atheros
MFC after: 1 week
Diffstat (limited to 'sys/net80211/ieee80211_proto.c')
-rw-r--r-- | sys/net80211/ieee80211_proto.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index bb755ed..0e9b581 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -978,19 +978,11 @@ ieee80211_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg break; case IEEE80211_S_SCAN: /* - * Scan next. If doing an active scan and the - * channel is not marked passive-only then send - * a probe request. Otherwise just listen for - * beacons on the channel. + * Scan next. If doing an active scan probe + * for the requested ap (if any). */ - if ((ic->ic_flags & IEEE80211_F_ASCAN) && - (ic->ic_curchan->ic_flags & IEEE80211_CHAN_PASSIVE) == 0) { - ieee80211_send_probereq(ni, - ic->ic_myaddr, ifp->if_broadcastaddr, - ifp->if_broadcastaddr, - ic->ic_des_essid, ic->ic_des_esslen, - ic->ic_opt_ie, ic->ic_opt_ie_len); - } + if (ic->ic_flags & IEEE80211_F_ASCAN) + ieee80211_probe_curchan(ic, 0); break; case IEEE80211_S_RUN: /* beacon miss */ |