if (ai->power) 
if (ai->power.event) 
static int airo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd){	int rc = 0;	struct airo_info *ai = (struct airo_info *)dev->priv;	if (ai->power)		return 0;	switch (cmd) {#ifdef CISCO_EXT	case AIROIDIFC:#ifdef AIROOLDIDIFC	case AIROOLDIDIFC:#endif	{		int val = AIROMAGIC;		aironet_ioctl com;		if (copy_from_user(&com,rq->ifr_data,sizeof(com)))			rc = -EFAULT;		else if (copy_to_user(com.data,(char *)&val,sizeof(val)))			rc = -EFAULT;	}	break;	case AIROIOCTL:#ifdef AIROOLDIOCTL	case AIROOLDIOCTL:#endif		/* Get the command struct and hand it off for evaluation by		 * the proper subfunction		 */	{		aironet_ioctl com;		if (copy_from_user(&com,rq->ifr_data,sizeof(com))) {			rc = -EFAULT;			break;		}		/* Separate R/W functions bracket legality here		 */		if ( com.command == AIRORSWVERSION ) {			if (copy_to_user(com.data, swversion, sizeof(swversion)))				rc = -EFAULT;			else				rc = 0;		}		else if ( com.command <= AIRORRID)			rc = readrids(dev,&com);		else if ( com.command >= AIROPCAP && com.command <= (AIROPLEAPUSR+2) )			rc = writerids(dev,&com);		else if ( com.command >= AIROFLSHRST && com.command <= AIRORESTART )			rc = flashcard(dev,&com);		else			rc = -EINVAL;      /* Bad command in ioctl */	}	break;#endif /* CISCO_EXT */	// All other calls are currently unsupported	default:		rc = -EOPNOTSUPP;	}	return rc;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ca078bae813dd46c0f9b102fdfb4a3384641ff48/airo.c/clean/drivers/net/wireless/airo.c