[PATCH v2 5/5] media: iris: Free the interrupt in iris_remove()

From: Vishnu Reddy

Date: Tue Nov 10 2026 - 09:28:50 EST


The interrupt is requested with devm_request_threaded_irq(), so it is
only freed after iris_remove() returns. Until then the threaded handler
can still run while the rest of the removal is in progress.

Free the interrupt explicitly in iris_remove(), right after the core is
shut down.

Fixes: fb583a214337 ("media: iris: introduce host firmware interface with necessary hooks")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Vishnu Reddy <busanna.reddy@xxxxxxxxxxxxxxxx>
---
drivers/media/platform/qcom/iris/iris_probe.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/media/platform/qcom/iris/iris_probe.c b/drivers/media/platform/qcom/iris/iris_probe.c
index 51054862bc64..925a450a8597 100644
--- a/drivers/media/platform/qcom/iris/iris_probe.c
+++ b/drivers/media/platform/qcom/iris/iris_probe.c
@@ -292,6 +292,8 @@ static void iris_remove(struct platform_device *pdev)

iris_core_deinit(core);

+ devm_free_irq(core->dev, core->irq, core);
+
iris_instances_vb2_queue_error(core);

pm_runtime_dont_use_autosuspend(core->dev);

--
2.34.1