spi: qup: add missing clk_disable_unprepare on error in spi_qup_pm_resume_runtime()
authorXu Qiang <xuqiang36@huawei.com>
Thu, 25 Aug 2022 06:53:24 +0000 (06:53 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 11:16:59 +0000 (13:16 +0200)
[ Upstream commit 494a22765ce479c9f8ad181c5d24cffda9f534bb ]

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

Fixes: dae1a7700b34 (“spi: qup: Handle clocks in pm_runtime suspend and resume”)
Signed-off-by: Xu Qiang <xuqiang36@huawei.com>
Link: https://lore.kernel.org/r/20220825065324.68446-2-xuqiang36@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi-qup.c

index c5c727274814cd260978ddb9da77b05e0c5bef3e..1ca678bcb5279a62226fecb589ee936e6b8e9e77 100644 (file)
@@ -1172,8 +1172,10 @@ static int spi_qup_pm_resume_runtime(struct device *device)
                return ret;
 
        ret = clk_prepare_enable(controller->cclk);
-       if (ret)
+       if (ret) {
+               clk_disable_unprepare(controller->iclk);
                return ret;
+       }
 
        /* Disable clocks auto gaiting */
        config = readl_relaxed(controller->base + QUP_CONFIG);