On Thu, Jul 11, 2024 at 03:25:44PM +0200, Marek Behún wrote: > From: Pali Rohár <pali@xxxxxxxxxx> > > The documentation for the irq_domain_remove() function says that all > mappings within the IRQ domain must be disposed before the domain is > removed. > > Currently, the INTx IRQs are not disposed in pci-mvebu driver .remove() > method, which causes the kernel to crash when unloading the driver and > then reading /sys/kernel/debug/irq/irqs/<num> or /proc/interrupts. > > Unmapping of the IRQs at this point of the .remove() method is safe, > since the PCIe bus is already unregistered, and all its devices are > unbound from their drivers and removed. If there was indeed any > remaining use of PCIe resources, then it would mean that PCIe hotplug > code is broken, and we have bigger problems. > > Fixes: ec075262648f ("PCI: mvebu: Implement support for legacy INTx interrupts") > Reported-by: Hajo Noerenberg <hajo-linux-bugzilla@xxxxxxxxxxxxx> > Signed-off-by: Pali Rohár <pali@xxxxxxxxxx> > Reviewed-by: Marek Behún <kabel@xxxxxxxxxx> > [ Marek: refactored a little, added more explanation to commit message ] > Signed-off-by: Marek Behún <kabel@xxxxxxxxxx> > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Andrew