return 0; 
return err; 
static int orinoco_ioctl_setfreq(struct net_device *dev, struct iw_freq *frq){	struct orinoco_private *priv = netdev_priv(dev);	int chan = -1;	unsigned long flags;	/* We can only use this in Ad-Hoc demo mode to set the operating	 * frequency, or in IBSS mode to set the frequency where the IBSS	 * will be created - Jean II */	if (priv->iw_mode != IW_MODE_ADHOC)		return -EOPNOTSUPP;	if ( (frq->e == 0) && (frq->m <= 1000) ) {		/* Setting by channel number */		chan = frq->m;	} else {		/* Setting by frequency - search the table */		int mult = 1;		int i;		for (i = 0; i < (6 - frq->e); i++)			mult *= 10;		for (i = 0; i < NUM_CHANNELS; i++)			if (frq->m == (channel_frequency[i] * mult))				chan = i+1;	}	if ( (chan < 1) || (chan > NUM_CHANNELS) ||	     ! (priv->channel_mask & (1 << (chan-1)) ) )		return -EINVAL;	if (orinoco_lock(priv, &flags) != 0)		return -EBUSY;	priv->channel = chan;	orinoco_unlock(priv, &flags);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/620554e406e3cc01434c658a1e597162d7e56fd6/orinoco.c/buggy/drivers/net/wireless/orinoco.c