]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
spi: dw: Fix PM disable depth imbalance in dw_spi_bt1_probe
authorZhang Qilong <zhangqilong3@huawei.com>
Sat, 24 Sep 2022 12:13:08 +0000 (20:13 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Thu, 24 Nov 2022 13:24:18 +0000 (14:24 +0100)
BugLink: https://bugs.launchpad.net/bugs/1996825
[ Upstream commit 618d815fc93477b1675878f3c04ff32657cc18b4 ]

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:abf00907538e2 ("spi: dw: Add Baikal-T1 SPI Controller glue driver")

Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Link: https://lore.kernel.org/r/20220924121310.78331-3-zhangqilong3@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/spi/spi-dw-bt1.c

index 5be6b7b80c21b42f7c5d40c674ab8bd7c227b8be..7e3ff54f6616c9409fd327c6408cdb180a2eb64b 100644 (file)
@@ -293,8 +293,10 @@ static int dw_spi_bt1_probe(struct platform_device *pdev)
        pm_runtime_enable(&pdev->dev);
 
        ret = dw_spi_add_host(&pdev->dev, dws);
-       if (ret)
+       if (ret) {
+               pm_runtime_disable(&pdev->dev);
                goto err_disable_clk;
+       }
 
        platform_set_drvdata(pdev, dwsbt1);