From: Dinghao Liu Date: Wed, 7 Apr 2021 05:46:06 +0000 (+0200) Subject: media: sun8i-di: Fix runtime PM imbalance in deinterlace_start_streaming X-Git-Tag: v5.13-rc1~124^2~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f1995d5e43cf897f63b4d7a7f84a252d891ae820;p=thirdparty%2Fkernel%2Flinux.git media: sun8i-di: Fix runtime PM imbalance in deinterlace_start_streaming pm_runtime_get_sync() will increase the runtime PM counter even it returns an error. Thus a pairing decrement is needed to prevent refcount leak. Fix this by replacing this API with pm_runtime_resume_and_get(), which will not change the runtime PM counter on error. Signed-off-by: Dinghao Liu Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c b/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c index ed863bf5ea804..671e4a928993d 100644 --- a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c +++ b/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c @@ -589,7 +589,7 @@ static int deinterlace_start_streaming(struct vb2_queue *vq, unsigned int count) int ret; if (V4L2_TYPE_IS_OUTPUT(vq->type)) { - ret = pm_runtime_get_sync(dev); + ret = pm_runtime_resume_and_get(dev); if (ret < 0) { dev_err(dev, "Failed to enable module\n");