]> git.hungrycats.org Git - linux/commitdiff
spi: bcm63xx: Fix missing pm_runtime_disable()
authorJinjie Ruan <ruanjinjie@huawei.com>
Mon, 19 Aug 2024 12:33:49 +0000 (20:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Oct 2024 10:00:48 +0000 (12:00 +0200)
commit 265697288ec2160ca84707565d6641d46f69b0ff upstream.

The pm_runtime_disable() is missing in the remove function, fix it
by using devm_pm_runtime_enable(), so the pm_runtime_disable() in
the probe error path can also be removed.

Fixes: 2d13f2ff6073 ("spi: bcm63xx-spi: fix pm_runtime")
Cc: stable@vger.kernel.org # v5.13+
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Suggested-by: Jonas Gorski <jonas.gorski@gmail.com>
Link: https://patch.msgid.link/20240819123349.4020472-3-ruanjinjie@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/spi/spi-bcm63xx.c

index 650ab4b2e688c60d86417fa999def84fdb4052d2..ef3a7226db125c300f8eca72f692feac5d4bde6e 100644 (file)
@@ -584,13 +584,15 @@ static int bcm63xx_spi_probe(struct platform_device *pdev)
 
        bcm_spi_writeb(bs, SPI_INTR_CLEAR_ALL, SPI_INT_STATUS);
 
-       pm_runtime_enable(&pdev->dev);
+       ret = devm_pm_runtime_enable(&pdev->dev);
+       if (ret)
+               goto out_clk_disable;
 
        /* register and we are done */
        ret = devm_spi_register_controller(dev, host);
        if (ret) {
                dev_err(dev, "spi register failed\n");
-               goto out_pm_disable;
+               goto out_clk_disable;
        }
 
        dev_info(dev, "at %pr (irq %d, FIFOs size %d)\n",
@@ -598,8 +600,6 @@ static int bcm63xx_spi_probe(struct platform_device *pdev)
 
        return 0;
 
-out_pm_disable:
-       pm_runtime_disable(&pdev->dev);
 out_clk_disable:
        clk_disable_unprepare(clk);
 out_err: