aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZou Wei <zou_wei@huawei.com>2021-05-31 14:36:03 +0800
committerSasha Levin <sashal@kernel.org>2021-06-30 08:47:19 -0400
commit78fa0f707d73c21621454ffd78cdfa1e2c7003c0 (patch)
tree7dd854593764c76f0904ee1056b1f73f2f44ccec
parent6a07cf36064afb14849d8e038fcca3538fe94bd4 (diff)
downloadkernel_replicant_linux-78fa0f707d73c21621454ffd78cdfa1e2c7003c0.tar.gz
kernel_replicant_linux-78fa0f707d73c21621454ffd78cdfa1e2c7003c0.tar.bz2
kernel_replicant_linux-78fa0f707d73c21621454ffd78cdfa1e2c7003c0.zip
dmaengine: rcar-dmac: Fix PM reference leak in rcar_dmac_probe()
[ Upstream commit dea8464ddf553803382efb753b6727dbf3931d06 ] pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to putting operation will result in reference leak here. Fix it by replacing it with pm_runtime_resume_and_get to keep usage counter balanced. Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Zou Wei <zou_wei@huawei.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/1622442963-54095-1-git-send-email-zou_wei@huawei.com Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/dma/sh/rcar-dmac.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c
index a57705356e8b..991a7b5da29f 100644
--- a/drivers/dma/sh/rcar-dmac.c
+++ b/drivers/dma/sh/rcar-dmac.c
@@ -1874,7 +1874,7 @@ static int rcar_dmac_probe(struct platform_device *pdev)
/* Enable runtime PM and initialize the device. */
pm_runtime_enable(&pdev->dev);
- ret = pm_runtime_get_sync(&pdev->dev);
+ ret = pm_runtime_resume_and_get(&pdev->dev);
if (ret < 0) {
dev_err(&pdev->dev, "runtime PM get sync failed (%d)\n", ret);
return ret;