diff options
author | Axel Lin <axel.lin@ingics.com> | 2019-02-08 22:11:52 +0800 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-02-08 16:50:52 +0000 |
commit | c68f47aa0260eb530561b768ffc260d9c7e47a55 (patch) | |
tree | 3cc58c3833a21b3674de03c843655ccb6c31f83b | |
parent | b735f41dcb06ae06acab2618b8814fe2dd1fca90 (diff) | |
download | linux-stable-c68f47aa0260eb530561b768ffc260d9c7e47a55.tar.gz linux-stable-c68f47aa0260eb530561b768ffc260d9c7e47a55.tar.bz2 linux-stable-c68f47aa0260eb530561b768ffc260d9c7e47a55.zip |
regulator: lm363x: Check return value of gpiod_get_index_optional
gpiod_get_index_optional can return ERR_PTR, add IS_ERR checking for it.
While at it, also remove a redundant NULL test for gpiod in error path.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/regulator/lm363x-regulator.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/regulator/lm363x-regulator.c b/drivers/regulator/lm363x-regulator.c index 8c0e8419c43f..c876e161052a 100644 --- a/drivers/regulator/lm363x-regulator.c +++ b/drivers/regulator/lm363x-regulator.c @@ -258,6 +258,9 @@ static int lm363x_regulator_probe(struct platform_device *pdev) * Register update is required if the pin is used. */ gpiod = lm363x_regulator_of_get_enable_gpio(dev, id); + if (IS_ERR(gpiod)) + return PTR_ERR(gpiod); + if (gpiod) { cfg.ena_gpiod = gpiod; @@ -265,8 +268,7 @@ static int lm363x_regulator_probe(struct platform_device *pdev) LM3632_EXT_EN_MASK, LM3632_EXT_EN_MASK); if (ret) { - if (gpiod) - gpiod_put(gpiod); + gpiod_put(gpiod); dev_err(dev, "External pin err: %d\n", ret); return ret; } |