[ALSA] I2C fix for ice1724
authorPavel Hofman <dustin@seznam.cz>
Mon, 3 Dec 2007 11:37:17 +0000 (12:37 +0100)
committerJaroslav Kysela <perex@perex.cz>
Thu, 31 Jan 2008 16:29:30 +0000 (17:29 +0100)
adding i2c busy wait before sending device address to prevent reading
bogus data.

Signed-off-by: Pavel Hofman <dustin@seznam.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sound/pci/ice1712/ice1724.c

index 357bdbe..b7a1d93 100644 (file)
@@ -1958,6 +1958,7 @@ unsigned char snd_vt1724_read_i2c(struct snd_ice1712 *ice,
        unsigned char val;
 
        mutex_lock(&ice->i2c_mutex);
+       wait_i2c_busy(ice);
        outb(addr, ICEREG1724(ice, I2C_BYTE_ADDR));
        outb(dev & ~VT1724_I2C_WRITE, ICEREG1724(ice, I2C_DEV_ADDR));
        wait_i2c_busy(ice);