summaryrefslogtreecommitdiffstats
path: root/sound/isa/wss
diff options
context:
space:
mode:
authorRene Herman <rene.herman@gmail.com>2008-08-05 09:33:33 +0200
committerJaroslav Kysela <perex@perex.cz>2008-08-06 15:40:11 +0200
commit6ddfa7432adc24c7471abe9d338a78540d0d025b (patch)
tree877d2a1effcb66f22b7f632d6bd335a3093dba21 /sound/isa/wss
parentebae22590dccd2b8495c97e85290f5e07af7dc62 (diff)
downloadlinux-6ddfa7432adc24c7471abe9d338a78540d0d025b.tar.bz2
ALSA: wss_lib: fix AZT2320 probe.
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>
Diffstat (limited to 'sound/isa/wss')
-rw-r--r--sound/isa/wss/wss_lib.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sound/isa/wss/wss_lib.c b/sound/isa/wss/wss_lib.c
index fff8a3b79fdf..866e8686dbe7 100644
--- a/sound/isa/wss/wss_lib.c
+++ b/sound/isa/wss/wss_lib.c
@@ -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);
}