X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=sound%2Fi2c%2Fcs8427.c;h=744366b72345ae4e8a7c32790b12fe828d9f0bf5;hb=e97a516701cfc3c4b27444212208884214d10c20;hp=64388cb8d6e508b9b5f24942cac2ee84285e1a8e;hpb=cc63935f56d1b2486fa17bea63ee3cfc7b9c1304;p=linux-2.6-omap-h63xx.git diff --git a/sound/i2c/cs8427.c b/sound/i2c/cs8427.c index 64388cb8d6e..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"); @@ -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 "