Commit aaffa012 authored by Qiushi Wu's avatar Qiushi Wu Committed by Mauro Carvalho Chehab
Browse files

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: 90dedce9 ("media: rcar-vin: add function to manipulate Gen3 chsel value")
Signed-off-by: default avatarQiushi Wu <wu000273@umn.edu>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 98fae901
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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);