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 10:34:42 +0000 (12:34 +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 668d799..f3877ee 100644 (file)
@@ -1199,8 +1199,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);