]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
spi: qup: fix PM reference leak in spi_qup_remove()
authorWang Li <wangli74@huawei.com>
Fri, 9 Apr 2021 09:54:58 +0000 (09:54 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 May 2021 12:04:06 +0000 (14:04 +0200)
[ Upstream commit cec77e0a249892ceb10061bf17b63f9fb111d870 ]

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: Wang Li <wangli74@huawei.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20210409095458.29921-1-wangli74@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi-qup.c

index fa8079fbea77ae55bf2a4bab55864cff0c2aac2f..d1dfb52008b4aceb04ed8b258d13bf6c4c18e64f 100644 (file)
@@ -1263,7 +1263,7 @@ static int spi_qup_remove(struct platform_device *pdev)
        struct spi_qup *controller = spi_master_get_devdata(master);
        int ret;
 
-       ret = pm_runtime_get_sync(&pdev->dev);
+       ret = pm_runtime_resume_and_get(&pdev->dev);
        if (ret < 0)
                return ret;