mfd: intel_soc_pmic_core: Fix unchecked return value
authorPan Bian <bianpan2016@163.com>
Sun, 23 Apr 2017 12:29:24 +0000 (20:29 +0800)
committerLee Jones <lee.jones@linaro.org>
Thu, 27 Apr 2017 10:54:47 +0000 (11:54 +0100)
unction devm_regmap_init_i2c() returns an ERR_PTR on errors, and its
return value should be checked before it is dereferenced. However, in
function intel_soc_pmic_i2c_probe(), the return value of function
devm_regmap_init_i2c() is used without validation. This patch fixes it.

Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/intel_soc_pmic_core.c

index 3b55835..13737be 100644 (file)
@@ -66,6 +66,9 @@ static int intel_soc_pmic_i2c_probe(struct i2c_client *i2c,
        dev_set_drvdata(dev, pmic);
 
        pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config);
+       if (IS_ERR(pmic->regmap))
+               return PTR_ERR(pmic->regmap);
+
        pmic->irq = i2c->irq;
 
        ret = regmap_add_irq_chip(pmic->regmap, pmic->irq,