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

media: camss: Fix a reference count leak.



pm_runtime_get_sync() increments the runtime PM usage counter even
when it returns an error code, causing incorrect ref count if
PM runtime put is not called in error handling paths.
Thus call pm_runtime_put_sync() if pm_runtime_get_sync() fails.

Fixes: 02afa816 ("media: camss: Add basic runtime PM support")
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 63e36a38
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -176,8 +176,10 @@ static int csiphy_set_power(struct v4l2_subdev *sd, int on)
		int ret;

		ret = pm_runtime_get_sync(dev);
		if (ret < 0)
		if (ret < 0) {
			pm_runtime_put_sync(dev);
			return ret;
		}

		ret = csiphy_set_clock_rates(csiphy);
		if (ret < 0) {