From: Mark Brown broonie@linaro.org
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 Signed-off-by: Mark Brown broonie@linaro.org --- drivers/regulator/core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index fabbf32..6333080 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -1281,12 +1281,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; }
On Mon, Sep 23, 2013 at 04:14:43PM +0100, Mark Brown wrote:
From: Mark Brown broonie@linaro.org
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 Signed-off-by: Mark Brown broonie@linaro.org
drivers/regulator/core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index fabbf32..6333080 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -1281,12 +1281,13 @@ static struct regulator *_regulator_get(struct device *dev, const char *id, if (rdev) goto found;
- regulator = ERR_PTR(ret);
- /*
*/ if (ret && ret != -ENODEV) {
- If we have return value from dev_lookup fail, we do not expect to
- succeed, so, quit with appropriate error value
goto out; }regulator = ERR_PTR(ret);
Perhaps remove the { and } now that there's only the "goto out;" left?
Tested-by: Thierry Reding treding@nvidia.com
linaro-kernel@lists.linaro.org