diff options
| author | Andrew Thompson <thompsa@FreeBSD.org> | 2007-06-30 21:12:41 +0000 |
|---|---|---|
| committer | Andrew Thompson <thompsa@FreeBSD.org> | 2007-06-30 21:12:41 +0000 |
| commit | d35985e711c42df643ade7ffb2bf1b0d407eb3b1 (patch) | |
| tree | 4f805b99b9cab8a58b8dee72115f6e11fec203e0 /sys/dev/wi | |
| parent | c78c2f1bd25621e1371dd5e4f5bdf7d8862b0923 (diff) | |
Notes
Diffstat (limited to 'sys/dev/wi')
| -rw-r--r-- | sys/dev/wi/if_wi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/wi/if_wi.c b/sys/dev/wi/if_wi.c index aeb8a4e4c0e2..16f2d9fc014c 100644 --- a/sys/dev/wi/if_wi.c +++ b/sys/dev/wi/if_wi.c @@ -2959,8 +2959,12 @@ wi_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg) 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[0]; /* 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 = |
