diff options
author | Yang Yingliang | 2022-06-22 05:42:43 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab | 2022-07-15 15:18:26 +0100 |
commit | 7a9795b31049b7e233d050a82b00094155a695c7 (patch) | |
tree | 3ab246fbdcf15ed1be530efddf089b26719c5398 /drivers | |
parent | 94d7fd9692b54ccc453ba3a2c482dda3110bc778 (diff) |
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 <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/i2c/ov7251.c | 2 |
1 files changed, 2 insertions, 0 deletions
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; } |