瀏覽代碼

[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>
Pavel Hofman 17 年之前
父節點
當前提交
acec30ffff
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      sound/pci/ice1712/ice1724.c

+ 1 - 0
sound/pci/ice1712/ice1724.c

@@ -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);