[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>
This commit is contained in:
parent
109c53f840
commit
acec30ffff
1 changed files with 1 additions and 0 deletions
|
@ -1958,6 +1958,7 @@ unsigned char snd_vt1724_read_i2c(struct snd_ice1712 *ice,
|
||||||
unsigned char val;
|
unsigned char val;
|
||||||
|
|
||||||
mutex_lock(&ice->i2c_mutex);
|
mutex_lock(&ice->i2c_mutex);
|
||||||
|
wait_i2c_busy(ice);
|
||||||
outb(addr, ICEREG1724(ice, I2C_BYTE_ADDR));
|
outb(addr, ICEREG1724(ice, I2C_BYTE_ADDR));
|
||||||
outb(dev & ~VT1724_I2C_WRITE, ICEREG1724(ice, I2C_DEV_ADDR));
|
outb(dev & ~VT1724_I2C_WRITE, ICEREG1724(ice, I2C_DEV_ADDR));
|
||||||
wait_i2c_busy(ice);
|
wait_i2c_busy(ice);
|
||||||
|
|
Loading…
Reference in a new issue