All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2.6.38] ASoC: CX20442: fix wrong reg_cache_default content
@ 2011-02-10 12:24 Janusz Krzysztofik
  2011-02-10 23:59 ` Liam Girdwood
  2011-02-11 11:00 ` Mark Brown
  0 siblings, 2 replies; 3+ messages in thread
From: Janusz Krzysztofik @ 2011-02-10 12:24 UTC (permalink / raw)
  To: alsa-devel; +Cc: Mark Brown, Liam Girdwood

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@tis.icnet.pl>
---

 sound/soc/codecs/cx20442.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- git/sound/soc/codecs/cx20442.c.orig	2011-02-10 00:52:33.000000000 +0100
+++ git/sound/soc/codecs/cx20442.c	2011-02-10 12:17:31.000000000 +0100
@@ -367,7 +367,7 @@ static int cx20442_codec_remove(struct s
 	return 0;
 }
 
-static const u8 cx20442_reg = CX20442_TELOUT | CX20442_MIC;
+static const u8 cx20442_reg;
 
 static struct snd_soc_codec_driver cx20442_codec_dev = {
 	.probe = 	cx20442_codec_probe,

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 2.6.38] ASoC: CX20442: fix wrong reg_cache_default content
  2011-02-10 12:24 [PATCH 2.6.38] ASoC: CX20442: fix wrong reg_cache_default content Janusz Krzysztofik
@ 2011-02-10 23:59 ` Liam Girdwood
  2011-02-11 11:00 ` Mark Brown
  1 sibling, 0 replies; 3+ messages in thread
From: Liam Girdwood @ 2011-02-10 23:59 UTC (permalink / raw)
  To: Janusz Krzysztofik; +Cc: alsa-devel, Mark Brown

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@tis.icnet.pl>
> ---

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 2.6.38] ASoC: CX20442: fix wrong reg_cache_default content
  2011-02-10 12:24 [PATCH 2.6.38] ASoC: CX20442: fix wrong reg_cache_default content Janusz Krzysztofik
  2011-02-10 23:59 ` Liam Girdwood
@ 2011-02-11 11:00 ` Mark Brown
  1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2011-02-11 11:00 UTC (permalink / raw)
  To: Janusz Krzysztofik; +Cc: alsa-devel, Liam Girdwood

On Thu, Feb 10, 2011 at 01:24:32PM +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:

Applied, thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-02-11 11:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-10 12:24 [PATCH 2.6.38] ASoC: CX20442: fix wrong reg_cache_default content Janusz Krzysztofik
2011-02-10 23:59 ` Liam Girdwood
2011-02-11 11:00 ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.