summaryrefslogtreecommitdiff
path: root/drivers/mfd/intel_soc_pmic_core.c
diff options
context:
space:
mode:
authorPan Bian <bianpan2016@163.com>2017-04-23 20:29:24 +0800
committerLee Jones <lee.jones@linaro.org>2017-04-27 11:54:47 +0100
commitdb43b8d04d7a9fa0ac18db6de2c4741dcefbcc0b (patch)
tree504f821a38accd78c5853d95ecde08e432e740c2 /drivers/mfd/intel_soc_pmic_core.c
parentd1f4f01a994b13e7cc3d682b816de7fc7e3463d9 (diff)
mfd: intel_soc_pmic_core: Fix unchecked return value
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>
Diffstat (limited to 'drivers/mfd/intel_soc_pmic_core.c')
-rw-r--r--drivers/mfd/intel_soc_pmic_core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mfd/intel_soc_pmic_core.c b/drivers/mfd/intel_soc_pmic_core.c
index 3b5583586662..13737be6df35 100644
--- a/drivers/mfd/intel_soc_pmic_core.c
+++ b/drivers/mfd/intel_soc_pmic_core.c
@@ -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,