snd_printk("AC'97 interface #%d is busy (2)\n", ac97->num); 
snd_printk(KERN_ERR "AC'97 interface #%d is busy (2)\n", ac97->num); 
static unsigned short snd_fm801_codec_read(ac97_t *ac97, unsigned short reg){	fm801_t *chip = ac97->private_data;	int idx;	/*	 *  Wait until the codec interface is not ready..	 */	for (idx = 0; idx < 100; idx++) {		if (!(inw(FM801_REG(chip, AC97_CMD)) & (1<<9)))			goto ok1;		udelay(10);	}	snd_printk("AC'97 interface is busy (1)\n");	return 0; ok1:	/* read command */	outw(reg | (ac97->addr << FM801_AC97_ADDR_SHIFT) | (1<<7), FM801_REG(chip, AC97_CMD));	for (idx = 0; idx < 100; idx++) {		if (!(inw(FM801_REG(chip, AC97_CMD)) & (1<<9)))			goto ok2;		udelay(10);	}	snd_printk("AC'97 interface #%d is busy (2)\n", ac97->num);	return 0; ok2:	for (idx = 0; idx < 1000; idx++) {		if (inw(FM801_REG(chip, AC97_CMD)) & (1<<8))			goto ok3;		udelay(10);	}	snd_printk("AC'97 interface #%d is not valid (2)\n", ac97->num);	return 0; ok3:	return inw(FM801_REG(chip, AC97_DATA));}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/99b359ba10a582148c6725f428a33ba5356dd993/fm801.c/buggy/sound/pci/fm801.c