From: Jinjie Ruan <ruanjinjie@xxxxxxxxxx> 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@xxxxxxxxxxxxxxx # v5.13+ Signed-off-by: Jinjie Ruan <ruanjinjie@xxxxxxxxxx> Suggested-by: Jonas Gorski <jonas.gorski@xxxxxxxxx> Link: https://patch.msgid.link/20240819123349.4020472-3-ruanjinjie@xxxxxxxxxx Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/spi/spi-bcm63xx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- a/drivers/spi/spi-bcm63xx.c +++ b/drivers/spi/spi-bcm63xx.c @@ -584,13 +584,15 @@ static int bcm63xx_spi_probe(struct plat 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 plat return 0; -out_pm_disable: - pm_runtime_disable(&pdev->dev); out_clk_disable: clk_disable_unprepare(clk); out_err: Patches currently in stable-queue which might be from ruanjinjie@xxxxxxxxxx are queue-6.6/spi-spi-cadence-fix-missing-spi_controller_is_target.patch queue-6.6/bluetooth-btmrvl-use-irqf_no_autoen-flag-in-request_.patch queue-6.6/nfp-use-irqf_no_autoen-flag-in-request_irq.patch queue-6.6/static_call-handle-module-init-failure-correctly-in-.patch queue-6.6/spi-spi-cadence-fix-pm_runtime_set_suspended-with-ru.patch queue-6.6/i2c-xiic-fix-pm_runtime_set_suspended-with-runtime-pm-enabled.patch queue-6.6/spi-spi-imx-fix-pm_runtime_set_suspended-with-runtim.patch queue-6.6/net-wwan-qcom_bam_dmux-fix-missing-pm_runtime_disabl.patch queue-6.6/spi-bcm63xx-fix-module-autoloading.patch queue-6.6/spi-bcm63xx-fix-missing-pm_runtime_disable.patch queue-6.6/net-ieee802154-mcr20a-use-irqf_no_autoen-flag-in-req.patch queue-6.6/i2c-qcom-geni-use-irqf_no_autoen-flag-in-request_irq.patch queue-6.6/ieee802154-fix-build-error.patch