OSDN Git Service

media: ov772x: Disable clk on error path
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Wed, 15 Aug 2018 20:10:39 +0000 (16:10 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Fri, 31 Aug 2018 13:24:52 +0000 (09:24 -0400)
If ov772x_power_on() is unable to get GPIO rstb,
the clock is left undisabled.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Acked-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/i2c/ov772x.c

index 0d3ed23..161bc7c 100644 (file)
@@ -864,6 +864,7 @@ static int ov772x_power_on(struct ov772x_priv *priv)
                                             GPIOD_OUT_LOW);
        if (IS_ERR(priv->rstb_gpio)) {
                dev_info(&client->dev, "Unable to get GPIO \"reset\"");
+               clk_disable_unprepare(priv->clk);
                return PTR_ERR(priv->rstb_gpio);
        }