Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4eb4550ab37d351ab0973ccec921a5a2d8560ec7
Commit:     4eb4550ab37d351ab0973ccec921a5a2d8560ec7
Parent:     ac8842a0391a776dfa8f59cc83582f6feffa913b
Author:     Takashi Iwai <[EMAIL PROTECTED]>
AuthorDate: Thu Sep 20 17:34:57 2007 +0200
Committer:  Jaroslav Kysela <[EMAIL PROTECTED]>
CommitDate: Tue Oct 16 16:51:01 2007 +0200

    [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 <[EMAIL PROTECTED]>
    Signed-off-by: Jaroslav Kysela <[EMAIL PROTECTED]>
---
 sound/i2c/cs8427.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/sound/i2c/cs8427.c b/sound/i2c/cs8427.c
index 64388cb..e601caa 100644
--- a/sound/i2c/cs8427.c
+++ b/sound/i2c/cs8427.c
@@ -229,6 +229,12 @@ int snd_cs8427_create(struct snd_i2c_bus *bus,
        snd_i2c_lock(bus);
        err = snd_cs8427_reg_read(device, CS8427_REG_ID_AND_VER);
        if (err != CS8427_VER8427A) {
+               /* give second chance */
+               snd_printk(KERN_WARNING "invalid CS8427 signature 0x%x: "
+                          "let me try again...\n", err);
+               err = snd_cs8427_reg_read(device, CS8427_REG_ID_AND_VER);
+       }
+       if (err != CS8427_VER8427A) {
                snd_i2c_unlock(bus);
                snd_printk(KERN_ERR "unable to find CS8427 signature "
                           "(expected 0x%x, read 0x%x),\n",
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to