testcase(cvsup'ed after ic_curchan changes): ifconfig ath0 mediaopt monitor channel 5 up ifconfig ath0 channel 9 ifconfig ath0 # ath0 still sticks to channel 5 Index: ieee80211_ioctl.c =================================================================== RCS file: /home/ncvs/src/sys/net80211/ieee80211_ioctl.c,v retrieving revision 1.25 diff -u -p -u -p -r1.25 ieee80211_ioctl.c --- ieee80211_ioctl.c 6 Jul 2005 15:38:27 -0000 1.25 +++ ieee80211_ioctl.c 22 Aug 2005 10:23:29 -0000 @@ -2039,7 +2039,7 @@ ieee80211_ioctl_set80211(struct ieee8021 isclr(ic->ic_chan_active, ireq->i_val)) { return EINVAL; } else - ic->ic_ibss_chan = ic->ic_des_chan = + ic->ic_curchan = ic->ic_ibss_chan = ic->ic_des_chan = &ic->ic_channels[ireq->i_val]; switch (ic->ic_state) { case IEEE80211_S_INIT: