From 7a9795b31049b7e233d050a82b00094155a695c7 Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Wed, 22 Jun 2022 05:42:43 +0100 Subject: media: ov7251: add missing disable functions on error in ov7251_set_power_on() Add the missing gpiod_set_value_cansleep() and clk_disable_unprepare() before return from ov7251_set_power_on() in the error handling case. Fixes: 9e1d3012cc10 ("media: i2c: Remove .s_power() from ov7251") Reported-by: Hulk Robot Signed-off-by: Yang Yingliang Reviewed-by: Andy Shevchenko Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab --- drivers/media/i2c/ov7251.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'drivers/media/i2c/ov7251.c') diff --git a/drivers/media/i2c/ov7251.c b/drivers/media/i2c/ov7251.c index 603a4c7049e6..1bd797c7926b 100644 --- a/drivers/media/i2c/ov7251.c +++ b/drivers/media/i2c/ov7251.c @@ -934,6 +934,8 @@ static int ov7251_set_power_on(struct device *dev) ARRAY_SIZE(ov7251_global_init_setting)); if (ret < 0) { dev_err(ov7251->dev, "error during global init\n"); + gpiod_set_value_cansleep(ov7251->enable_gpio, 0); + clk_disable_unprepare(ov7251->xclk); ov7251_regulators_disable(ov7251); return ret; } -- cgit v1.2.3