summaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorZhang Qilong <zhangqilong3@huawei.com>2022-09-24 20:13:07 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-10-21 12:38:17 +0200
commitd76f22dec9233ee5933e4adbe1a3ad5d2ed1da77 (patch)
treea472e1ad6a07a03cdff0a2ca947affe2f9200ae9 /drivers/spi
parent67f57b0d1340bea67d692b82fc7341be392d6351 (diff)
downloadlinux-stable-d76f22dec9233ee5933e4adbe1a3ad5d2ed1da77.tar.gz
linux-stable-d76f22dec9233ee5933e4adbe1a3ad5d2ed1da77.tar.bz2
linux-stable-d76f22dec9233ee5933e4adbe1a3ad5d2ed1da77.zip
spi: cadence-quadspi: Fix PM disable depth imbalance in cqspi_probe
[ Upstream commit 4d0ef0a1c35189a6e8377d8ee8310ea5ef22c5f3 ] The pm_runtime_enable will increase power disable depth. Thus a pairing decrement is needed on the error handling path to keep it balanced according to context. Fixes:73d5fe0462702 ("spi: cadence-quadspi: Remove spi_master_put() in probe failure path") Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Link: https://lore.kernel.org/r/20220924121310.78331-2-zhangqilong3@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-cadence-quadspi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c
index e12ab5b43f34..447230547945 100644
--- a/drivers/spi/spi-cadence-quadspi.c
+++ b/drivers/spi/spi-cadence-quadspi.c
@@ -1645,7 +1645,7 @@ static int cqspi_probe(struct platform_device *pdev)
pm_runtime_enable(dev);
ret = pm_runtime_resume_and_get(dev);
if (ret < 0)
- return ret;
+ goto probe_pm_failed;
ret = clk_prepare_enable(cqspi->clk);
if (ret) {
@@ -1740,6 +1740,7 @@ probe_reset_failed:
clk_disable_unprepare(cqspi->clk);
probe_clk_failed:
pm_runtime_put_sync(dev);
+probe_pm_failed:
pm_runtime_disable(dev);
return ret;
}