diff options
author | Pavel Hofman <dustin@seznam.cz> | 2007-12-03 06:37:17 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-01-31 11:29:30 -0500 |
commit | acec30ffffe1eee07e3202cff03e7ca8350d250f (patch) | |
tree | d5ab718a21d0237202ec87543ed438ded72c120e /sound | |
parent | 109c53f840e551d6e99ecfd8b0131a968332c89f (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')
-rw-r--r-- | sound/pci/ice1712/ice1724.c | 1 |
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); |