From 4eb4550ab37d351ab0973ccec921a5a2d8560ec7 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Thu, 20 Sep 2007 17:34:57 +0200 Subject: [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 Signed-off-by: Jaroslav Kysela --- sound/i2c/cs8427.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sound/i2c/cs8427.c') diff --git a/sound/i2c/cs8427.c b/sound/i2c/cs8427.c index 64388cb8d6e..e601caa6ea0 100644 --- a/sound/i2c/cs8427.c +++ b/sound/i2c/cs8427.c @@ -228,6 +228,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 " -- cgit v1.2.3 From c1017a4cdb68ae5368fbc9ee42c77f1f5dca8916 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 15 Oct 2007 09:50:19 +0200 Subject: [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz Signed-off-by: Jaroslav Kysela --- sound/i2c/cs8427.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sound/i2c/cs8427.c') diff --git a/sound/i2c/cs8427.c b/sound/i2c/cs8427.c index e601caa6ea0..744366b7234 100644 --- a/sound/i2c/cs8427.c +++ b/sound/i2c/cs8427.c @@ -1,7 +1,7 @@ /* * Routines for control of the CS8427 via i2c bus * IEC958 (S/PDIF) receiver & transmitter by Cirrus Logic - * Copyright (c) by Jaroslav Kysela + * Copyright (c) by Jaroslav Kysela * * * This program is free software; you can redistribute it and/or modify @@ -32,7 +32,7 @@ static void snd_cs8427_reset(struct snd_i2c_device *cs8427); -MODULE_AUTHOR("Jaroslav Kysela "); +MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("IEC958 (S/PDIF) receiver & transmitter by Cirrus Logic"); MODULE_LICENSE("GPL"); -- cgit v1.2.3