Index: pci.c =================================================================== --- pci.c (revision 194299) +++ pci.c (working copy) @@ -2883,8 +2883,11 @@ goto bad; dinfo->cfg.msi.msi_addr = addr; dinfo->cfg.msi.msi_data = data; - pci_enable_msi(child, addr, data); } + if (dinfo->cfg.msi.msi_handlers == 0) { + pci_enable_msi(child, dinfo->cfg.msi.msi_addr, + dinfo->cfg.msi.msi_data); + } dinfo->cfg.msi.msi_handlers++; } else { KASSERT(dinfo->cfg.msix.msix_alloc > 0,