| From 7d2ba8b090bd63794ca8467a3ce66e56db97d3aa Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 15 Aug 2018 16:10:39 -0400 |
| Subject: media: ov772x: Disable clk on error path |
| |
| From: Alexey Khoroshilov <khoroshilov@ispras.ru> |
| |
| [ Upstream commit 1d18c2cd9d38ad639b2e00546b9ee638f2cef4b0 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/media/i2c/ov772x.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/drivers/media/i2c/ov772x.c b/drivers/media/i2c/ov772x.c |
| index 7158c31d8403b..4eae5f2f7d318 100644 |
| --- a/drivers/media/i2c/ov772x.c |
| +++ b/drivers/media/i2c/ov772x.c |
| @@ -896,6 +896,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); |
| } |
| |
| -- |
| 2.20.1 |
| |