media: ccs-core.c: fix failure to call clk_disable_unprepare
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Mon, 2 May 2022 07:17:46 +0000 (09:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:22:38 +0000 (10:22 +0200)
[ Upstream commit eca89cf60b040ee2cae693ea72a0364284f3084c ]

Fixes smatch warning:

drivers/media/i2c/ccs/ccs-core.c:1676 ccs_power_on() warn: 'sensor->ext_clk' from clk_prepare_enable() not released on lines: 1606.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/i2c/ccs/ccs-core.c

index 5363f3b..67bb770 100644 (file)
@@ -1603,8 +1603,11 @@ static int ccs_power_on(struct device *dev)
                        usleep_range(1000, 2000);
                } while (--retry);
 
-               if (!reset)
-                       return -EIO;
+               if (!reset) {
+                       dev_err(dev, "software reset failed\n");
+                       rval = -EIO;
+                       goto out_cci_addr_fail;
+               }
        }
 
        if (sensor->hwcfg.i2c_addr_alt) {