ALSA: wss_lib: fix AZT2320 probe.
PATCH 1/1 ALSA: wss_lib: fix AZT2320 probe.
Hi Takashi
The attached is needed and sufficient to get AZT2320 back in line. Trouble is with non-settable MIC gain bits on AZT2320 which fools snd_ad1848_probe() and makes snd-azt2320 fail to load after the wss_lib merge.
Krzysztof should ACK/NAK this -- he was busy there with CS4248 and might have other plans for it.
Krzysztof, do you? I'm rather itching to rewrite that function otherwise. It's horrible.
Rene.
Quoted 1 line
From
988ae22373fafa8a0059457eafc737a01c471fe4Mon Sep 17 00:00:00 2001
From: Rene Herman <[email protected]>
Date: Tue, 5 Aug 2008 09:33:33 +0200
Subject: [PATCH] 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.
--- sound/isa/wss/wss_lib.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-)
sound/isa/wss/wss_lib.c +7 -5
@@ -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); }
Signature · 1 line
1.5.5
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel