ASoC: rt286: Fix potencial crash in jd function
authorBard Liao <bardliao@realtek.com>
Thu, 5 Feb 2015 08:40:33 +0000 (16:40 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 5 Feb 2015 18:17:12 +0000 (18:17 +0000)
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>
sound/soc/codecs/rt286.c

index 847cc4b9bee5af21a09cba82ae09eb5dbdbc6308..f14d335b07b172d6b8d22cdc6c1d9dfdd656cd8a 100644 (file)
@@ -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;