]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
spi: orion: fix runtime pm leak on unbind
authorJohan Hovold <johan@kernel.org>
Tue, 21 Apr 2026 13:02:09 +0000 (15:02 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 22 Apr 2026 12:49:14 +0000 (13:49 +0100)
Make sure to balance the runtime PM usage count on driver unbind so that
the controller can be suspended when a driver is rebound.

Also restore the autosuspend setting.

This issue was flagged by Sashiko when reviewing a controller
deregistration fix.

Fixes: 5c6786945b4e ("spi: spi-orion: add runtime PM support")
Cc: stable@vger.kernel.org # 3.17
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Link: https://sashiko.dev/#/patchset/20260414134319.978196-1-johan%40kernel.org?part=6
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260421130211.1537628-2-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-orion.c

index c54cd4ef09bdbb9f6d86660a0f2cc0878fd1e7f3..c61ebfd1d18d139db056dc98dff7191662243fa6 100644 (file)
@@ -811,6 +811,9 @@ static void orion_spi_remove(struct platform_device *pdev)
        spi_controller_put(host);
 
        pm_runtime_disable(&pdev->dev);
+       pm_runtime_put_noidle(&pdev->dev);
+       pm_runtime_set_suspended(&pdev->dev);
+       pm_runtime_dont_use_autosuspend(&pdev->dev);
 }
 
 MODULE_ALIAS("platform:" DRIVER_NAME);