diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -2447,6 +2447,8 @@ * through all the slots that use this IRQ and update them. */ if (cfg->msix.msix_alloc > 0) { + bool found = false; + for (i = 0; i < cfg->msix.msix_alloc; i++) { mv = &cfg->msix.msix_vectors[i]; if (mv->mv_irq == irq) { @@ -2466,9 +2468,10 @@ pci_enable_msix(dev, j, addr, data); pci_unmask_msix(dev, j); } + found = true; } } - return (ENOENT); + return (found ? 0 : ENOENT); } return (ENOENT);