All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] spi: rockchip-sfc: disable runtime PM in remove
@ 2026-08-18 13:05 ` Jiawen Liu
  0 siblings, 0 replies; 6+ messages in thread
From: Jiawen Liu @ 2026-08-18 13:05 UTC (permalink / raw)
  To: Mark Brown, Heiko Stuebner, linux-spi, linux-arm-kernel,
	linux-rockchip, linux-kernel

rockchip_sfc_probe enables runtime PM and leaves the device active with
a usage count held by pm_runtime_get_noresume(). The remove callback
only disables the clocks and does not disable runtime PM, leaving the
device in an inconsistent state and leaking the runtime PM reference.
Add the missing runtime PM teardown in rockchip_sfc_remove to balance
the probe's enable and get_noresume calls.

Signed-off-by: jiawen <1298662399@qq.com>
---
diff --git a/drivers/spi/spi-rockchip-sfc.c b/drivers/spi/spi-rockchip-sfc.c
--- a/drivers/spi/spi-rockchip-sfc.c
+++ b/drivers/spi/spi-rockchip-sfc.c
@@ -743,6 +743,11 @@
 	struct spi_controller *host = sfc->host;
 
 	spi_unregister_controller(host);
+	pm_runtime_get_sync(&pdev->dev);
+	pm_runtime_put_noidle(&pdev->dev);
+	pm_runtime_disable(&pdev->dev);
+	pm_runtime_set_suspended(&pdev->dev);
+	pm_runtime_dont_use_autosuspend(&pdev->dev);
 	dma_unmap_single(&pdev->dev, sfc->dma_buffer, sfc->max_iosize,
 			 DMA_BIDIRECTIONAL);
 	free_pages((unsigned long)sfc->buffer, get_order(sfc->max_iosize));


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-08-20  9:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-18 13:05 [PATCH] spi: rockchip-sfc: disable runtime PM in remove Jiawen Liu
2026-08-18 13:05 ` Jiawen Liu
2026-08-18 13:14 ` Mark Brown
2026-08-18 13:14   ` Mark Brown
2026-08-20  9:48 ` Markus Elfring
2026-08-20  9:48   ` Markus Elfring

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.