int err = 0; 
int err = -EINPROGRESS;		/* Call commit handler */ 
static int orinoco_ioctl_setpower(struct net_device *dev, struct iw_param *prq){	struct orinoco_private *priv = netdev_priv(dev);	int err = 0;	unsigned long flags;	if (orinoco_lock(priv, &flags) != 0)		return -EBUSY;	if (prq->disabled) {		priv->pm_on = 0;	} else {		switch (prq->flags & IW_POWER_MODE) {		case IW_POWER_UNICAST_R:			priv->pm_mcast = 0;			priv->pm_on = 1;			break;		case IW_POWER_ALL_R:			priv->pm_mcast = 1;			priv->pm_on = 1;			break;		case IW_POWER_ON:			/* No flags : but we may have a value - Jean II */			break;		default:			err = -EINVAL;		}		if (err)			goto out;				if (prq->flags & IW_POWER_TIMEOUT) {			priv->pm_on = 1;			priv->pm_timeout = prq->value / 1000;		}		if (prq->flags & IW_POWER_PERIOD) {			priv->pm_on = 1;			priv->pm_period = prq->value / 1000;		}		/* It's valid to not have a value if we are just toggling		 * the flags... Jean II */		if(!priv->pm_on) {			err = -EINVAL;			goto out;		}				} out:	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