[PATCH] mfd: mt6397-irq: Fix missing irq_domain_remove() in error path

Haotian Zhang posted 1 patch 1 week, 6 days ago
drivers/mfd/mt6397-irq.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] mfd: mt6397-irq: Fix missing irq_domain_remove() in error path
Posted by Haotian Zhang 1 week, 6 days ago
If devm_request_threaded_irq() fails after irq_domain_create_linear()
succeeds in mt6397_irq_init(), the function returns without removing
the created IRQ domain, leading to a resource leak.

Call irq_domain_remove() in the error path after a successful
irq_domain_create_linear() to properly release the IRQ domain.

Fixes: a4872e80ce7d ("mfd: mt6397: Extract IRQ related code from core driver")
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
---
 drivers/mfd/mt6397-irq.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/mfd/mt6397-irq.c b/drivers/mfd/mt6397-irq.c
index 0e463026c5a9..5d2e5459f744 100644
--- a/drivers/mfd/mt6397-irq.c
+++ b/drivers/mfd/mt6397-irq.c
@@ -229,6 +229,7 @@ int mt6397_irq_init(struct mt6397_chip *chip)
 	if (ret) {
 		dev_err(chip->dev, "failed to register irq=%d; err: %d\n",
 			chip->irq, ret);
+		irq_domain_remove(chip->irq_domain);
 		return ret;
 	}
 
-- 
2.50.1.windows.1
Re: (subset) [PATCH] mfd: mt6397-irq: Fix missing irq_domain_remove() in error path
Posted by Lee Jones 1 week, 4 days ago
On Tue, 18 Nov 2025 20:15:00 +0800, Haotian Zhang wrote:
> If devm_request_threaded_irq() fails after irq_domain_create_linear()
> succeeds in mt6397_irq_init(), the function returns without removing
> the created IRQ domain, leading to a resource leak.
> 
> Call irq_domain_remove() in the error path after a successful
> irq_domain_create_linear() to properly release the IRQ domain.
> 
> [...]

Applied, thanks!

[1/1] mfd: mt6397-irq: Fix missing irq_domain_remove() in error path
      commit: b4b1bd1f330fdd13706382be6c90ce9f58cee3f5

--
Lee Jones [李琼斯]