aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mps
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/mps')
-rw-r--r--sys/dev/mps/mps.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/mps/mps.c b/sys/dev/mps/mps.c
index 8bc461db3ab4..c5fb0ee614ce 100644
--- a/sys/dev/mps/mps.c
+++ b/sys/dev/mps/mps.c
@@ -665,7 +665,11 @@ mps_iocfacts_allocate(struct mps_softc *sc, uint8_t attaching)
return (error);
}
- if ((error = mps_pci_setup_interrupts(sc)) != 0) {
+ /*
+ * XXX If the number of MSI-X vectors changes during re-init, this
+ * won't see it and adjust.
+ */
+ if (attaching && (error = mps_pci_setup_interrupts(sc)) != 0) {
mps_dprint(sc, MPS_INIT|MPS_FAULT, "Failed to setup "
"interrupts\n");
mps_free(sc);