Messages in this thread | | | Subject | Re: [PATCH v2 1/3] genirq/affinity: Add irq_update_affinity_desc() | From | John Garry <> | Date | Fri, 20 Nov 2020 11:52:09 +0000 |
| |
Hi Thomas,
>> Just mentioning a couple of things here, which could be a clue to what >> is going on: >> - the device is behind mbigen secondary irq controller >> - the flow in the LLDD is to allocate all 128 interrupts during probe, >> but we only register handlers for a subset with device managed API > Right, but if the driver is removed then the interrupts should be > deallocated, right? >
When removing the driver we just call free_irq(), which removes the handler and disables the interrupt.
But about the irq_desc, this is created when the mapping is created in irq_create_fwspec_mapping(), and I don't see this being torn down in the driver removal, so persistent in that regard.
So for pci msi I can see that we free the irq_desc in pci_disable_msi() -> free_msi_irqs() -> msi_domain_free_irqs() ...
So what I am missing here?
Thanks, John
| |