pm_runtime_get() increments the runtime PM usage counter even
when it returns an error code. Thus a pairing decrement is needed on
the error handling path to keep the counter balanced.

Signed-off-by: Dinghao Liu <dinghao....@zju.edu.cn>
---
 drivers/media/i2c/s5k6a3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/i2c/s5k6a3.c b/drivers/media/i2c/s5k6a3.c
index bc6cc5a558db..f26c168ef942 100644
--- a/drivers/media/i2c/s5k6a3.c
+++ b/drivers/media/i2c/s5k6a3.c
@@ -197,7 +197,7 @@ static int __s5k6a3_power_on(struct s5k6a3 *sensor)
 
        ret = pm_runtime_get(sensor->dev);
        if (ret < 0)
-               return ret;
+               goto error_rpm_put;
 
        ret = regulator_enable(sensor->supplies[i].consumer);
        if (ret < 0)
-- 
2.17.1

Reply via email to