[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220825065324.68446-1-xuqiang36@huawei.com>
Date: Thu, 25 Aug 2022 06:53:23 +0000
From: Xu Qiang <xuqiang36@...wei.com>
To: <agross@...nel.org>, <bjorn.andersson@...aro.org>,
<konrad.dybcio@...ainline.org>, <broonie@...nel.org>,
<iivanov@...sol.com>, <pramod.gurav@...aro.org>
CC: <linux-arm-msm@...r.kernel.org>, <linux-spi@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <guohanjun@...wei.com>,
<weiyongjun1@...wei.com>, <xuqiang36@...wei.com>
Subject: [PATCH -next 1/2] spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume()
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@...wei.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
Powered by blists - more mailing lists