Holger Schurig wrote: > Signed-off-by: Holger Schurig <hs4233@xxxxxxxxxxxxxxxxxxxx> Cool. > + if (orinoco_lock(priv, &flags) != 0) > + return -EBUSY; > + > + priv->channel = channel; > + if (priv->iw_mode == NL80211_IFTYPE_MONITOR) { > + /* Fast channel change - no commit if successful */ > + hermes_t *hw = &priv->hw; > + err = hermes_docmd_wait(hw, HERMES_CMD_TEST | > + HERMES_TEST_SET_CHANNEL, > + channel, NULL); > + } > + orinoco_unlock(priv, &flags); > + > + return err; > +} Looks right for monitor mode (as you tested), but for ad-hoc the channel change would be delayed until the next SIOCSIWCOMMIT. Which for cfg80211 is currently only on change_vif. Adding a call to orinoco_commit(priv) in the ad-hoc case should push the change to the card. I think we'll end up with this call in each of the orinoco cfg80211 functions. Otherwise we have to work out how to do the changes incrementally across the different hw/fw. You can also eliminate orinoco_ioctl_setfreq from wext.c with this change. Thanks, Dave. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html