On Wed, Sep 30, 2015 at 03:45:39PM +0800, Jiang Liu wrote: > So we need to figure out why we got irq number 0 after enabling > MSI for AMD IOMMU device. The only hint I got is that iommu driver just > grabbing the PCI device without providing a PCI device driver for IOMMU > PCI device, we have solved a similar case for eata driver. So could you > please help to apply this debug patch to gather more info and send me > /proc/interrupts? I think I have an idea on how dev->irq got 0 after pci_enable_msi(). The PCI probe code calls pcibios_alloc_irq() and after a failed probe it calls pcibios_free_irq(), which sets dev->irq to 0. The AMD IOMMU driver does not register a pci_driver for itself, it just doesn't make sense for it. But the PCI device containing the IOMMU gets probed later, which fails because there is no driver for it. So the following call to pcibios_free_irq() clears dev->irq, so that it is 0 on the next resume. Does that make sense? Joerg _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel