From: Pan Bian <[email protected]>
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 <[email protected]>
---
drivers/mfd/intel_soc_pmic_core.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/mfd/intel_soc_pmic_core.c b/drivers/mfd/intel_soc_pmic_core.c
index 12d6ebb4..0498854 100644
--- a/drivers/mfd/intel_soc_pmic_core.c
+++ b/drivers/mfd/intel_soc_pmic_core.c
@@ -83,6 +83,8 @@ 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);
/*
* On some boards the PMIC interrupt may come from a GPIO line. Try to
--
1.9.1
On Sun, 23 Apr 2017, Pan Bian wrote:
> From: Pan Bian <[email protected]>
>
> 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 <[email protected]>
> ---
> drivers/mfd/intel_soc_pmic_core.c | 2 ++
> 1 file changed, 2 insertions(+)
Applied, thanks.
> diff --git a/drivers/mfd/intel_soc_pmic_core.c b/drivers/mfd/intel_soc_pmic_core.c
> index 12d6ebb4..0498854 100644
> --- a/drivers/mfd/intel_soc_pmic_core.c
> +++ b/drivers/mfd/intel_soc_pmic_core.c
> @@ -83,6 +83,8 @@ 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);
>
> /*
> * On some boards the PMIC interrupt may come from a GPIO line. Try to
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog