if (chip->buggy_semaphore) return 0; /* just ignore ... */  
static int snd_intel8x0_codec_semaphore(intel8x0_t *chip, unsigned int codec){	int time;		if (codec > 2)		return -EIO;	if (chip->in_sdin_init) {		/* we don't know the ready bit assignment at the moment */		/* so we check any */		codec = ICH_PCR | ICH_SCR | ICH_TCR;	} else {		codec = get_ich_codec_bit(chip, codec);	}	/* codec ready ? */	if ((igetdword(chip, ICHREG(GLOB_STA)) & codec) == 0)		return -EIO;	/* Anyone holding a semaphore for 1 msec should be shot... */	time = 100;      	do {      		if (!(igetbyte(chip, ICHREG(ACC_SEMA)) & ICH_CAS))      			return 0;		udelay(10);	} while (time--);	/* access to some forbidden (non existant) ac97 registers will not	 * reset the semaphore. So even if you don't get the semaphore, still	 * continue the access. We don't need the semaphore anyway. */	snd_printk("codec_semaphore: semaphore is not ready [0x%x][0x%x]\n",			igetbyte(chip, ICHREG(ACC_SEMA)), igetdword(chip, ICHREG(GLOB_STA)));	iagetword(chip, 0);	/* clear semaphore flag */	/* I don't care about the semaphore */	return -EBUSY;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a06147d22865e9becb2918baec59d618fb09d896/intel8x0.c/clean/sound/pci/intel8x0.c