浏览代码

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>
Bard Liao 10 年之前
父节点
当前提交
28d1ad09c5
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      sound/soc/codecs/rt286.c

+ 2 - 0
sound/soc/codecs/rt286.c

@@ -305,6 +305,8 @@ static int rt286_jack_detect(struct rt286_priv *rt286, bool *hp, bool *mic)
 	*hp = false;
 	*hp = false;
 	*mic = false;
 	*mic = false;
 
 
+	if (!rt286->codec)
+		return -EINVAL;
 	if (rt286->pdata.cbj_en) {
 	if (rt286->pdata.cbj_en) {
 		regmap_read(rt286->regmap, RT286_GET_HP_SENSE, &buf);
 		regmap_read(rt286->regmap, RT286_GET_HP_SENSE, &buf);
 		*hp = buf & 0x80000000;
 		*hp = buf & 0x80000000;