Commit d6b10dd0 authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by Mauro Carvalho Chehab
Browse files

media: tw9910: fix failure handling in tw9910_power_on()



If gpiod_get_optional() fails in tw9910_power_on(), clk is left undisabled.

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

Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 49710c32
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -610,6 +610,11 @@ 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);
		if (priv->pdn_gpio) {
			gpiod_set_value(priv->pdn_gpio, 1);
			usleep_range(500, 1000);
		}
		return PTR_ERR(priv->rstb_gpio);
	}