if(wait_type == WaitSleep) { set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout(1); } else 
if(wait_type == WaitSleep) schedule_timeout_uninterruptible(1); else 
typhoon_reset(void __iomem *ioaddr, int wait_type){	int i, err = 0;	int timeout;	if(wait_type == WaitNoSleep)		timeout = TYPHOON_RESET_TIMEOUT_NOSLEEP;	else		timeout = TYPHOON_RESET_TIMEOUT_SLEEP;	iowrite32(TYPHOON_INTR_ALL, ioaddr + TYPHOON_REG_INTR_MASK);	iowrite32(TYPHOON_INTR_ALL, ioaddr + TYPHOON_REG_INTR_STATUS);	iowrite32(TYPHOON_RESET_ALL, ioaddr + TYPHOON_REG_SOFT_RESET);	typhoon_post_pci_writes(ioaddr);	udelay(1);	iowrite32(TYPHOON_RESET_NONE, ioaddr + TYPHOON_REG_SOFT_RESET);	if(wait_type != NoWait) {		for(i = 0; i < timeout; i++) {			if(ioread32(ioaddr + TYPHOON_REG_STATUS) ==			   TYPHOON_STATUS_WAITING_FOR_HOST)				goto out;			if(wait_type == WaitSleep) {				set_current_state(TASK_UNINTERRUPTIBLE);				schedule_timeout(1);			} else				udelay(TYPHOON_UDELAY);		}		err = -ETIMEDOUT;	}out:	iowrite32(TYPHOON_INTR_ALL, ioaddr + TYPHOON_REG_INTR_MASK);	iowrite32(TYPHOON_INTR_ALL, ioaddr + TYPHOON_REG_INTR_STATUS);	/* The 3XP seems to need a little extra time to complete the load	 * of the sleep image before we can reliably boot it. Failure to	 * do this occasionally results in a hung adapter after boot in	 * typhoon_init_one() while trying to read the MAC address or	 * putting the card to sleep. 3Com's driver waits 5ms, but	 * that seems to be overkill. However, if we can sleep, we might	 * as well give it that much time. Otherwise, we'll give it 500us,	 * which should be enough (I've see it work well at 100us, but still	 * saw occasional problems.)	 */	if(wait_type == WaitSleep)		msleep(5);	else		udelay(500);	return err;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/3173c8907ffb2c64456142da3df2bd0500bd59e0/typhoon.c/clean/drivers/net/typhoon.c