summaryrefslogtreecommitdiffstats
path: root/sys/dev/wi
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2005-08-10 16:22:30 +0000
committersam <sam@FreeBSD.org>2005-08-10 16:22:30 +0000
commit7d1366bf6d72fe0b21b589eee177dccbdccc5dc5 (patch)
treeb9c0e277abb905c850c4e7b7e0d8615bf32983ff /sys/dev/wi
parentfcb7f09afa00151c86541bef3c214f25a101d786 (diff)
downloadFreeBSD-src-7d1366bf6d72fe0b21b589eee177dccbdccc5dc5.zip
FreeBSD-src-7d1366bf6d72fe0b21b589eee177dccbdccc5dc5.tar.gz
Clarify/fix handling of the current channel:
o add ic_curchan and use it uniformly for specifying the current channel instead of overloading ic->ic_bss->ni_chan (or in some drivers ic_ibss_chan) o add ieee80211_scanparams structure to encapsulate scanning-related state captured for rx frames o move rx beacon+probe response frame handling into separate routines o change beacon+probe response handling to treat the scan table more like a scan cache--look for an existing entry before adding a new one; this combined with ic_curchan use corrects handling of stations that were previously found at a different channel o move adhoc neighbor discovery by beacon+probe response frames to a new ieee80211_add_neighbor routine Reviewed by: avatar Tested by: avatar, Michal Mertl MFC after: 2 weeks
Diffstat (limited to 'sys/dev/wi')
-rw-r--r--sys/dev/wi/if_wi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/wi/if_wi.c b/sys/dev/wi/if_wi.c
index 4de137c..fc9ab4d 100644
--- a/sys/dev/wi/if_wi.c
+++ b/sys/dev/wi/if_wi.c
@@ -2736,6 +2736,7 @@ wi_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg)
wi_read_rid(sc, WI_RID_CURRENT_CHAN, &val, &buflen);
/* XXX validate channel */
ni->ni_chan = &ic->ic_channels[le16toh(val)];
+ ic->ic_curchan = ni->ni_chan;
ic->ic_ibss_chan = ni->ni_chan;
#if NBPFILTER > 0
sc->sc_tx_th.wt_chan_freq = sc->sc_rx_th.wr_chan_freq =
OpenPOWER on IntegriCloud