• Janusz Krzysztofik's avatar
    ASoC: CX20442: fix wrong reg_cache_default content · 8e6bfb9b
    Janusz Krzysztofik authored
    Content of the CX20442's snd_soc_codec_driver.reg_cache_default pointed
    area, introduced with my recent NULL pointer dereferece fix (commit
    f019ee5f), 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: default avatarJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
    Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    8e6bfb9b
cx20442.c 9.73 KB