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

Thierry Reding
2013-09-23T15:21:42Z

[-- Attachment #1: Type: text/plain, Size: 1186 bytes --]

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 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@nvidia.com>

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]