linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -next 1/2] spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume()
@ 2022-08-25  6:53 Xu Qiang
  2022-08-25  6:53 ` [PATCH -next 2/2] spi: qup: add missing clk_disable_unprepare on error in spi_qup_pm_resume_runtime() Xu Qiang
  2022-09-05 17:33 ` [PATCH -next 1/2] spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume() Mark Brown
  0 siblings, 2 replies; 3+ messages in thread
From: Xu Qiang @ 2022-08-25  6:53 UTC (permalink / raw)
  To: agross, bjorn.andersson, konrad.dybcio, broonie, iivanov,
	pramod.gurav
  Cc: linux-arm-msm, linux-spi, linux-kernel, guohanjun, weiyongjun1,
	xuqiang36

Add the missing clk_disable_unprepare() before return
from spi_qup_resume() in the error handling case.

Fixes: 64ff247a978f (“spi: Add Qualcomm QUP SPI controller support”)
Signed-off-by: Xu Qiang <xuqiang36@huawei.com>
---
 drivers/spi/spi-qup.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
index 00d6084306b4..ae4e67f152ec 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
@@ -1245,14 +1245,25 @@ static int spi_qup_resume(struct device *device)
 		return ret;
 
 	ret = clk_prepare_enable(controller->cclk);
-	if (ret)
+	if (ret) {
+		clk_disable_unprepare(controller->iclk);
 		return ret;
+	}
 
 	ret = spi_qup_set_state(controller, QUP_STATE_RESET);
 	if (ret)
-		return ret;
+		goto disable_clk;
+
+	ret = spi_master_resume(master);
+	if (ret)
+		goto disable_clk;
 
-	return spi_master_resume(master);
+	return 0;
+
+disable_clk:
+	clk_disable_unprepare(controller->cclk);
+	clk_disable_unprepare(controller->iclk);
+	return ret;
 }
 #endif /* CONFIG_PM_SLEEP */
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-09-05 17:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-25  6:53 [PATCH -next 1/2] spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume() Xu Qiang
2022-08-25  6:53 ` [PATCH -next 2/2] spi: qup: add missing clk_disable_unprepare on error in spi_qup_pm_resume_runtime() Xu Qiang
2022-09-05 17:33 ` [PATCH -next 1/2] spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume() Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).