summaryrefslogtreecommitdiff
path: root/drivers/media/i2c
diff options
context:
space:
mode:
authorDave Stevenson <dave.stevenson@raspberrypi.com>2022-11-28 19:22:49 +0300
committerMauro Carvalho Chehab <mchehab@kernel.org>2022-12-06 10:25:02 +0300
commitb2ea130c2541a8439fd9a288f319cb257ee8e9a0 (patch)
tree9dce5ebd99677a5a8c85474a57333481754fbc4d /drivers/media/i2c
parent483c84bf50e7ec0fc2887f35b76c8cc57ba81574 (diff)
downloadlinux-b2ea130c2541a8439fd9a288f319cb257ee8e9a0.tar.xz
media: i2c: ov9282: Add missing clk_disable_unprepare to error path
If ov9282_power_on failed the I2C write, it returned without releasing clocks or regulators. Fix this. Fixes: 6f7def3d8a65 ("media: i2c: ov9282: Add selection for CSI2 clock mode") Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/media/i2c')
-rw-r--r--drivers/media/i2c/ov9282.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/i2c/ov9282.c b/drivers/media/i2c/ov9282.c
index 3749501c3104..37a55d53af56 100644
--- a/drivers/media/i2c/ov9282.c
+++ b/drivers/media/i2c/ov9282.c
@@ -1253,11 +1253,13 @@ static int ov9282_power_on(struct device *dev)
OV9282_GATED_CLOCK : 0);
if (ret) {
dev_err(ov9282->dev, "fail to write MIPI_CTRL00");
- return ret;
+ goto error_clk;
}
return 0;
+error_clk:
+ clk_disable_unprepare(ov9282->inclk);
error_reset:
gpiod_set_value_cansleep(ov9282->reset_gpio, 0);