summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Qilong <zhangqilong3@huawei.com>2020-11-03 17:09:47 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-12-29 15:46:52 +0300
commit1d0d30e1e5e6b846e919418111e9f2a959201179 (patch)
tree92da68c9e796ae845925941559b7917cb475dfa9
parent4113f6f73f6e8d215609bde8c0c14ca9f8a476c5 (diff)
downloadlinux-1d0d30e1e5e6b846e919418111e9f2a959201179.tar.xz
spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
[ Upstream commit 45c0cba753641e5d7c3207f04241bd0e7a021698 ] pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to pm_runtime_put_noidle will result in reference leak in ti_qspi_setup, so we should fix it. Fixes: 505a14954e2d7 ("spi/qspi: Add qspi flash controller") Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Link: https://lore.kernel.org/r/20201103140947.3815-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-ti-qspi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c
index d0ea62d151c0..29c1b5d3ae7a 100644
--- a/drivers/spi/spi-ti-qspi.c
+++ b/drivers/spi/spi-ti-qspi.c
@@ -180,6 +180,7 @@ static int ti_qspi_setup(struct spi_device *spi)
ret = pm_runtime_get_sync(qspi->dev);
if (ret < 0) {
+ pm_runtime_put_noidle(qspi->dev);
dev_err(qspi->dev, "pm_runtime_get_sync() failed\n");
return ret;
}