ASoC: img: Fix PM reference leak in img_i2s_in_probe()
authorYufen Yu <yuyufen@huawei.com>
Mon, 24 May 2021 09:35:21 +0000 (05:35 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:05:42 +0000 (16:05 +0200)
[ Upstream commit 81aad47278539f02de808bcc8251fed0ad3d6f55 ]

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: Yufen Yu <yuyufen@huawei.com>
Link: https://lore.kernel.org/r/20210524093521.612176-1-yuyufen@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/img/img-i2s-in.c

index 0843235..fd3432a 100644 (file)
@@ -464,7 +464,7 @@ static int img_i2s_in_probe(struct platform_device *pdev)
                if (ret)
                        goto err_pm_disable;
        }
-       ret = pm_runtime_get_sync(&pdev->dev);
+       ret = pm_runtime_resume_and_get(&pdev->dev);
        if (ret < 0)
                goto err_suspend;