summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorBard Liao <bardliao@realtek.com>2015-02-05 16:40:33 +0800
committerMark Brown <broonie@kernel.org>2015-02-05 18:17:12 +0000
commit28d1ad09c50c758d3e295fa7ff90a4712e1254ea (patch)
tree5d107d6d0f9d6a8e94f6193660ef35b9f7b8fc94 /sound
parent54d96a40e0dfb5aa2eea0b010ddc1c7e8742e364 (diff)
downloadlinux-28d1ad09c50c758d3e295fa7ff90a4712e1254ea.tar.gz
linux-28d1ad09c50c758d3e295fa7ff90a4712e1254ea.tar.bz2
linux-28d1ad09c50c758d3e295fa7ff90a4712e1254ea.zip
ASoC: rt286: Fix potencial crash in jd function
We assign rt286->codec in rt286_probe. If rt286_jack_detect is invoked before rt286_probe, rt286->codec will be NULL and cause a kernel panic. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/rt286.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/codecs/rt286.c b/sound/soc/codecs/rt286.c
index 847cc4b9bee5..f14d335b07b1 100644
--- a/sound/soc/codecs/rt286.c
+++ b/sound/soc/codecs/rt286.c
@@ -305,6 +305,8 @@ static int rt286_jack_detect(struct rt286_priv *rt286, bool *hp, bool *mic)
*hp = false;
*mic = false;
+ if (!rt286->codec)
+ return -EINVAL;
if (rt286->pdata.cbj_en) {
regmap_read(rt286->regmap, RT286_GET_HP_SENSE, &buf);
*hp = buf & 0x80000000;