err = -EINPROGRESS; } 
static int orinoco_ioctl_setport3(struct net_device *dev, struct iwreq *wrq){	struct orinoco_private *priv = netdev_priv(dev);	int val = *( (int *) wrq->u.name );	int err = 0;	unsigned long flags;	if (orinoco_lock(priv, &flags) != 0)		return -EBUSY;	switch (val) {	case 0: /* Try to do IEEE ad-hoc mode */		if (! priv->has_ibss) {			err = -EINVAL;			break;		}		priv->prefer_port3 = 0;					break;	case 1: /* Try to do Lucent proprietary ad-hoc mode */		if (! priv->has_port3) {			err = -EINVAL;			break;		}		priv->prefer_port3 = 1;		break;	default:		err = -EINVAL;	}	if (! err)		/* Actually update the mode we are using */		set_port_type(priv);	orinoco_unlock(priv, &flags);	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/620554e406e3cc01434c658a1e597162d7e56fd6/orinoco.c/buggy/drivers/net/wireless/orinoco.c