aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ice1712
diff options
context:
space:
mode:
authorPavel Hofman <dustin@seznam.cz>2007-12-03 06:37:17 -0500
committerJaroslav Kysela <perex@perex.cz>2008-01-31 11:29:30 -0500
commitacec30ffffe1eee07e3202cff03e7ca8350d250f (patch)
treed5ab718a21d0237202ec87543ed438ded72c120e /sound/pci/ice1712
parent109c53f840e551d6e99ecfd8b0131a968332c89f (diff)
[ALSA] I2C fix for ice1724
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>
Diffstat (limited to 'sound/pci/ice1712')
-rw-r--r--sound/pci/ice1712/ice1724.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c
index 357bdbe21c8f..b7a1d93cf002 100644
--- a/sound/pci/ice1712/ice1724.c
+++ b/sound/pci/ice1712/ice1724.c
@@ -1958,6 +1958,7 @@ unsigned char snd_vt1724_read_i2c(struct snd_ice1712 *ice,
1958 unsigned char val; 1958 unsigned char val;
1959 1959
1960 mutex_lock(&ice->i2c_mutex); 1960 mutex_lock(&ice->i2c_mutex);
1961 wait_i2c_busy(ice);
1961 outb(addr, ICEREG1724(ice, I2C_BYTE_ADDR)); 1962 outb(addr, ICEREG1724(ice, I2C_BYTE_ADDR));
1962 outb(dev & ~VT1724_I2C_WRITE, ICEREG1724(ice, I2C_DEV_ADDR)); 1963 outb(dev & ~VT1724_I2C_WRITE, ICEREG1724(ice, I2C_DEV_ADDR));
1963 wait_i2c_busy(ice); 1964 wait_i2c_busy(ice);