[alsa-devel] [PATCH] ASoC: CX20442: fix NULL pointer dereference

Janusz Krzysztofik jkrzyszt at tis.icnet.pl
Tue Feb 1 13:01:17 CET 2011


The CX20442 codec driver never provided the snd_soc_codec_driver's 
.reg_cache_default member. With the latest ASoC framework changes, it 
seems to be referred unconditionally, resulting in a NULL pointer 
dereference if missing. Provide it.

Created and tested on Amstrad Delta against linux-2.6.38-rc2

Signed-off-by: Janusz Krzysztofik <jkrzyszt at tis.icnet.pl>
---
NOTE:
I'm not sure if the value choosen is Amstrad Delta specific or not.

 sound/soc/codecs/cx20442.c |    3 +++
 1 file changed, 3 insertions(+)

--- git/sound/soc/codecs/cx20442.c.orig	2011-01-31 20:09:18.000000000 +0100
+++ git/sound/soc/codecs/cx20442.c	2011-01-31 20:16:20.000000000 +0100
@@ -367,9 +367,12 @@ static int cx20442_codec_remove(struct s
 	return 0;
 }
 
+static const u8 cx20442_reg = CX20442_TELOUT | CX20442_MIC;
+
 static struct snd_soc_codec_driver cx20442_codec_dev = {
 	.probe = 	cx20442_codec_probe,
 	.remove = 	cx20442_codec_remove,
+	.reg_cache_default = &cx20442_reg,
 	.reg_cache_size = 1,
 	.reg_word_size = sizeof(u8),
 	.read = cx20442_read_reg_cache,


More information about the Alsa-devel mailing list