public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] soc: ti: knav_qmss_queue: free resources in remove callback
@ 2026-05-05 23:46 Md Shofiqul Islam
  2026-05-06 14:03 ` Nishanth Menon
  0 siblings, 1 reply; 2+ messages in thread
From: Md Shofiqul Islam @ 2026-05-05 23:46 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: nm, ssantosh, linux-kernel, Md Shofiqul Islam

Implement the TODO in knav_queue_remove() by stopping PDSPs and
freeing queue regions and queue ranges before disabling runtime PM,
mirroring the cleanup performed in the probe error path.

This ensures resources are released on driver unbind and avoids
leaking queue/region state.
---
 drivers/soc/ti/knav_qmss_queue.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c
index 86d7a9c9a..8d8245352 100644
--- a/drivers/soc/ti/knav_qmss_queue.c
+++ b/drivers/soc/ti/knav_qmss_queue.c
@@ -1873,7 +1873,11 @@ static int knav_queue_probe(struct platform_device *pdev)
 
 static void knav_queue_remove(struct platform_device *pdev)
 {
-	/* TODO: Free resources */
+	struct knav_device *kdev = platform_get_drvdata(pdev);
+
+	knav_queue_stop_pdsps(kdev);
+	knav_queue_free_regions(kdev);
+	knav_free_queue_ranges(kdev);
 	pm_runtime_put_sync(&pdev->dev);
 	pm_runtime_disable(&pdev->dev);
 }
-- 
2.51.1


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

end of thread, other threads:[~2026-05-06 14:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-05 23:46 [PATCH v3] soc: ti: knav_qmss_queue: free resources in remove callback Md Shofiqul Islam
2026-05-06 14:03 ` Nishanth Menon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox