ALSA: wss_lib: fix AZT2320 probe.
authorRene Herman <rene.herman@gmail.com>
Tue, 5 Aug 2008 07:33:33 +0000 (09:33 +0200)
committerJaroslav Kysela <perex@perex.cz>
Wed, 6 Aug 2008 13:40:11 +0000 (15:40 +0200)
After the transition from cs4321_lib to wss_lib, azt2320 probe visits
snd_ad1848_probe during detection. It expects register 0 (LEFT_INPUT)
to be able to retain the value 0xaa during detection but AZT2320 does
not support MIC gain meaning it reads back as 0x8a instead.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sound/isa/wss/wss_lib.c

index fff8a3b..866e868 100644 (file)
@@ -1168,11 +1168,13 @@ static int snd_ad1848_probe(struct snd_wss *chip)
                                ad1847 = 1;
                                break;
                        }
-                       if (snd_wss_in(chip, CS4231_LEFT_INPUT) == 0xaa &&
-                           rev == 0x45) {
-                               spin_unlock_irqrestore(&chip->reg_lock, flags);
-                               id = 1;
-                               break;
+                       if (rev == 0x45) {
+                               rev = snd_wss_in(chip, CS4231_LEFT_INPUT);
+                               if (rev == 0xaa || rev == 0x8a) {
+                                       spin_unlock_irqrestore(&chip->reg_lock, flags);
+                                       id = 1;
+                                       break;
+                               }
                        }
                        spin_unlock_irqrestore(&chip->reg_lock, flags);
                }