summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhang Qilong <zhangqilong3@huawei.com>2020-11-06 09:50:35 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-12-30 11:51:07 +0100
commit7e8200d442003ce9ff88bff17a6e6d56e51ad360 (patch)
tree573cd28a67dca14d48cb19c99dfe992da40ecf50
parentc786bc725d8cf6b2ed4dc955694f817411d6dece (diff)
downloadlinux-stable-7e8200d442003ce9ff88bff17a6e6d56e51ad360.tar.gz
linux-stable-7e8200d442003ce9ff88bff17a6e6d56e51ad360.tar.bz2
linux-stable-7e8200d442003ce9ff88bff17a6e6d56e51ad360.zip
spi: sprd: fix reference leak in sprd_spi_remove
[ Upstream commit e4062765bc2a41e025e29dd56bad798505036427 ] pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to pm_runtime_put_noidle will result in reference leak in sprd_spi_remove, so we should fix it. Fixes: e7d973a31c24b ("spi: sprd: Add SPI driver for Spreadtrum SC9860") Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Acked-by: Chunyan Zhang <zhang.lyra@gmail.com> Link: https://lore.kernel.org/r/20201106015035.139574-1-zhangqilong3@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/spi/spi-sprd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/spi/spi-sprd.c b/drivers/spi/spi-sprd.c
index e60aff990395..c2bdf19ccdd2 100644
--- a/drivers/spi/spi-sprd.c
+++ b/drivers/spi/spi-sprd.c
@@ -1008,6 +1008,7 @@ static int sprd_spi_remove(struct platform_device *pdev)
ret = pm_runtime_get_sync(ss->dev);
if (ret < 0) {
+ pm_runtime_put_noidle(ss->dev);
dev_err(ss->dev, "failed to resume SPI controller\n");
return ret;
}