From: Qiushi Wu Date: Sat, 13 Jun 2020 22:30:08 +0000 (+0200) Subject: media: rcar-vin: Fix a reference count leak. X-Git-Tag: v5.15~2723^2~141 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aaffa0126a111d65f4028c503c76192d4cc93277;p=platform%2Fkernel%2Flinux-starfive.git media: rcar-vin: Fix a reference count leak. pm_runtime_get_sync() increments the runtime PM usage counter even when it returns an error code. Thus call pm_runtime_put_noidle() if pm_runtime_get_sync() fails. Fixes: 90dedce9bc54 ("media: rcar-vin: add function to manipulate Gen3 chsel value") Signed-off-by: Qiushi Wu Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/rcar-vin/rcar-dma.c b/drivers/media/platform/rcar-vin/rcar-dma.c index d067439..3504dd4 100644 --- a/drivers/media/platform/rcar-vin/rcar-dma.c +++ b/drivers/media/platform/rcar-vin/rcar-dma.c @@ -1420,8 +1420,10 @@ int rvin_set_channel_routing(struct rvin_dev *vin, u8 chsel) int ret; ret = pm_runtime_get_sync(vin->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(vin->dev); return ret; + } /* Make register writes take effect immediately. */ vnmc = rvin_read(vin, VNMC_REG);