diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index cbdfb3acec7..9118ca7781e 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -2447,6 +2447,8 @@ pci_remap_intr_method(device_t bus, device_t dev, u_int irq) * 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_remap_intr_method(device_t bus, device_t dev, u_int irq) pci_enable_msix(dev, j, addr, data); pci_unmask_msix(dev, j); } + found = true; } } - return (ENOENT); + return (found ? 0 : ENOENT); } return (ENOENT);