regulator: core: Always use return value when regulator_dev_lookup() fails
authorMark Brown <broonie@linaro.org>
Mon, 23 Sep 2013 15:12:52 +0000 (16:12 +0100)
committerMark Brown <broonie@linaro.org>
Tue, 24 Sep 2013 09:37:55 +0000 (10:37 +0100)
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>
drivers/regulator/core.c

index 088b41a..a40055e 100644 (file)
@@ -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;
        }