summaryrefslogtreecommitdiffstats
path: root/drivers/regulator
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-09-23 17:12:52 +0200
committerMark Brown <broonie@linaro.org>2013-09-24 11:37:55 +0200
commitef60abbb6b406389245225ab4acfe73f66e7d92c (patch)
treee970f214516fc89097c4ed2464f96700756e7867 /drivers/regulator
parentregulator: core: Fix default return value for _get() (diff)
downloadlinux-ef60abbb6b406389245225ab4acfe73f66e7d92c.tar.xz
linux-ef60abbb6b406389245225ab4acfe73f66e7d92c.zip
regulator: core: Always use return value when regulator_dev_lookup() fails
Ensure that the return value is always set when we return now that the logic has changed for regulator_get_optional() so we don't get missing codes leaking out. Reported-by: Thierry Reding <treding@nvidia.com> Tested-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/regulator')
-rw-r--r--drivers/regulator/core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 088b41ac9506..a40055edaae4 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1263,12 +1263,13 @@ static struct regulator *_regulator_get(struct device *dev, const char *id,
if (rdev)
goto found;
+ regulator = ERR_PTR(ret);
+
/*
* If we have return value from dev_lookup fail, we do not expect to
* succeed, so, quit with appropriate error value
*/
if (ret && ret != -ENODEV) {
- regulator = ERR_PTR(ret);
goto out;
}