Re: [PATCH] media: tw9910: add missed clk_disable_unprepare() on failure path

From: Jacopo Mondi
Date: Sun Dec 30 2018 - 04:52:37 EST


Hi Alexey,
thanks for the patch

On Sun, Dec 30, 2018 at 12:35:20AM +0300, Alexey Khoroshilov wrote:
> If gpiod_get_optional() fails in tw9910_power_on(), clk is left undisabled.
>

Correct, thanks for spotting this.

I think pdn_gpio should also be handled if rstb_gpio fails.
What's your opinion?

Thanks
j

> Found by Linux Driver Verification project (linuxtesting.org).
>
> Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
> ---
> drivers/media/i2c/tw9910.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/media/i2c/tw9910.c b/drivers/media/i2c/tw9910.c
> index a54548cc4285..109770d678d2 100644
> --- a/drivers/media/i2c/tw9910.c
> +++ b/drivers/media/i2c/tw9910.c
> @@ -610,6 +610,7 @@ static int tw9910_power_on(struct tw9910_priv *priv)
> GPIOD_OUT_LOW);
> if (IS_ERR(priv->rstb_gpio)) {
> dev_info(&client->dev, "Unable to get GPIO \"rstb\"");
> + clk_disable_unprepare(priv->clk);
> return PTR_ERR(priv->rstb_gpio);
> }
>
> --
> 2.7.4
>

Attachment: signature.asc
Description: PGP signature