Commit 4eb4550ab37d351ab0973ccec921a5a2d8560ec7
Committed by
Jaroslav Kysela
1 parent
ac8842a039
Exists in
master
and in
7 other branches
[ALSA] Workaround for invalid signature read of CS8427
Reading the signature of CS8427 over SPI/I2C fails on some devices by mysterious reason. In most cases, however, it succeeds at the sequential read. So, let's give a second chance to check the signature again. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Showing 1 changed file with 6 additions and 0 deletions Side-by-side Diff
sound/i2c/cs8427.c
... | ... | @@ -229,6 +229,12 @@ |
229 | 229 | snd_i2c_lock(bus); |
230 | 230 | err = snd_cs8427_reg_read(device, CS8427_REG_ID_AND_VER); |
231 | 231 | if (err != CS8427_VER8427A) { |
232 | + /* give second chance */ | |
233 | + snd_printk(KERN_WARNING "invalid CS8427 signature 0x%x: " | |
234 | + "let me try again...\n", err); | |
235 | + err = snd_cs8427_reg_read(device, CS8427_REG_ID_AND_VER); | |
236 | + } | |
237 | + if (err != CS8427_VER8427A) { | |
232 | 238 | snd_i2c_unlock(bus); |
233 | 239 | snd_printk(KERN_ERR "unable to find CS8427 signature " |
234 | 240 | "(expected 0x%x, read 0x%x),\n", |