diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c index db69264eb7..4068a47473 100644 --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -1961,7 +1961,10 @@ int map_domain_pirq( if ( !cpu_has_apic ) goto done; - pdev = pci_get_pdev(msi->seg, msi->bus, msi->devfn); + pdev = pci_get_pdev_by_domain(d, msi->seg, msi->bus, msi->devfn); + if ( !pdev ) + goto done; + ret = pci_enable_msi(msi, &msi_desc); if ( ret ) {