From: Qiushi Wu <wu000273@xxxxxxx> 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: b2f0d2724ba4 ("[media] vcodec: mediatek: Add Mediatek JPEG Decoder Driver") Signed-off-by: Qiushi Wu <wu000273@xxxxxxx> --- drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c index f82a81a3bdee..097f0b050f67 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c @@ -710,8 +710,10 @@ static int mtk_jpeg_start_streaming(struct vb2_queue *q, unsigned int count) int ret = 0; ret = pm_runtime_get_sync(ctx->jpeg->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(ctx->jpeg->dev); goto err; + } return 0; err: -- 2.17.1