Messages in this thread | | | Date | Tue, 23 Jul 2019 14:52:34 -0700 | From | pheragu@codeauro ... | Subject | Warning seen when removing a module using irqdomain framework |
| |
Hi,
I have been working on a interrupt controller driver that uses tree based mapping for its domain (irq_domain_add_tree(..)). If I understand correctly, the clients get a mapping when they call platform_get_irq(..). However, after these clients are removed (rmmod), when I try to remove the interrupt controller driver where it calls irq_domain_remove(..), I hit this warning from kernel/kernel/irq/irqdomain.c:: irq_domain_remove(..) [WARN_ON(!radix_tree_empty(&domain->revmap_tree));]- WARNING: CPU: 0 PID: 238 at /kernel/kernel/irq/irqdomain.c:246 irq_domain_remove+0x84/0x98
Also, I see that the requested IRQs by the clients are still present (in /proc/interrupts) even after they had been removed. Hence, I just wanted to know how to handle this warning. Should the client clean up by calling irq_dispose_mapping(..) or is it the responsibility of the interrupt controller driver to dispose the mappings one by one?
Regards, Prakruthi Deepak Heragu
| |