[alsa-devel] [PATCH 2.6.38] ASoC: CX20442: fix wrong reg_cache_default content

Liam Girdwood lrg at slimlogic.co.uk
Fri Feb 11 00:59:57 CET 2011

On Thu, 2011-02-10 at 13:24 +0100, Janusz Krzysztofik wrote:
> Content of the CX20442's snd_soc_codec_driver.reg_cache_default pointed 
> area, introduced with my recent NULL pointer dereferece fix (commit 
> f019ee5feb344ff0b22b58df4568676295aae14f), occured wrong after further 
> testing, more thorough than just booting successfully. There are two 
> problems with it:
> 1) It should read
> 	(1 << CX20442_TELOUT) | (1 << CX20442_MIC),
>    not 
> 	CX20442_TELOUT | CX20442_MIC.
> 2) While correctly matching actual codec hardware state on boot when 
>    fixed per 1), a few more code modifications would still be required 
>    to reflect that state not only into register cache, but also force 
>    them into DAPM pins state, otherwise an inconsitency occures which 
>    may prevent further codec state changes from being applied correctly. 
>    As a result, the phone stops ringing after reboot, until someone 
>    picks up the handset for the first time.
> Revert that reg_cache_default content to a working, previous de facto 
> default value of 0, in hope this change can still be accepted as an rc 
> cycle fix.
> Created and tested against linux-2.6.38-rc4
> Signed-off-by: Janusz Krzysztofik <jkrzyszt at tis.icnet.pl>
> ---

Acked-by: Liam Girdwood <lrg at slimlogic.co.uk>
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.

More information about the Alsa-devel mailing list