All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] irqchip/mbigen: Free msi_desc on device teardown
@ 2020-04-08 11:43 Zenghui Yu
  2020-04-09  9:27 ` Marc Zyngier
  2020-04-17  9:56 ` [tip: irq/urgent] " tip-bot2 for Zenghui Yu
  0 siblings, 2 replies; 4+ messages in thread
From: Zenghui Yu @ 2020-04-08 11:43 UTC (permalink / raw)
  To: linux-kernel; +Cc: maz, tglx, jason, wuyun.wu, wanghaibin.wang, Zenghui Yu

Using irq_domain_free_irqs_common() on the irqdomain free path will
leave the MSI descriptor unfreed when platform devices get removed.
Properly free it by MSI domain free function.

Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
---
 drivers/irqchip/irq-mbigen.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-mbigen.c b/drivers/irqchip/irq-mbigen.c
index 6b566bba263b..ff7627b57772 100644
--- a/drivers/irqchip/irq-mbigen.c
+++ b/drivers/irqchip/irq-mbigen.c
@@ -220,10 +220,16 @@ static int mbigen_irq_domain_alloc(struct irq_domain *domain,
 	return 0;
 }
 
+static void mbigen_irq_domain_free(struct irq_domain *domain, unsigned int virq,
+				   unsigned int nr_irqs)
+{
+	platform_msi_domain_free(domain, virq, nr_irqs);
+}
+
 static const struct irq_domain_ops mbigen_domain_ops = {
 	.translate	= mbigen_domain_translate,
 	.alloc		= mbigen_irq_domain_alloc,
-	.free		= irq_domain_free_irqs_common,
+	.free		= mbigen_irq_domain_free,
 };
 
 static int mbigen_of_create_domain(struct platform_device *pdev,
-- 
2.19.1



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

end of thread, other threads:[~2020-04-17  9:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-08 11:43 [PATCH] irqchip/mbigen: Free msi_desc on device teardown Zenghui Yu
2020-04-09  9:27 ` Marc Zyngier
2020-04-09 10:30   ` Zenghui Yu
2020-04-17  9:56 ` [tip: irq/urgent] " tip-bot2 for Zenghui Yu

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.