Re: [PATCH] regulator: core: Always use return value whenregulator_dev_lookup() fails

From: Thierry Reding
Date: Mon Sep 23 2013 - 11:21:45 EST


On Mon, Sep 23, 2013 at 04:14:43PM +0100, Mark Brown wrote:
> From: Mark Brown <broonie@xxxxxxxxxx>
>
> 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@xxxxxxxxxx>
> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
> ---
> 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;
> }

Perhaps remove the { and } now that there's only the "goto out;" left?

Tested-by: Thierry Reding <treding@xxxxxxxxxx>

Attachment: pgp00000.pgp
Description: PGP signature