Index: if_wi.c =================================================================== RCS file: /home/ncvs/src/sys/dev/wi/if_wi.c,v retrieving revision 1.207 diff -u -p -r1.207 if_wi.c --- if_wi.c 11 Jun 2007 03:36:52 -0000 1.207 +++ if_wi.c 26 Jun 2007 01:15:55 -0000 @@ -2959,8 +2959,12 @@ wi_newstate(struct ieee80211com *ic, enu IEEE80211_ADDR_COPY(ni->ni_macaddr, ni->ni_bssid); buflen = sizeof(val); wi_read_rid(sc, WI_RID_CURRENT_CHAN, &val, &buflen); + ni->ni_chan = ieee80211_find_channel(ic, + ieee80211_ieee2mhz(val, IEEE80211_CHAN_B), + IEEE80211_CHAN_B); + if (ni->ni_chan == NULL) + ni->ni_chan = &ic->ic_channels[le16toh(val)]; /* XXX validate channel */ - ni->ni_chan = &ic->ic_channels[le16toh(val)]; ic->ic_curchan = ic->ic_bsschan = ni->ni_chan; #if NBPFILTER > 0 sc->sc_tx_th.wt_chan_freq = sc->sc_rx_th.wr_chan_freq =