aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/mpr/mpr.c6
-rw-r--r--sys/dev/mps/mps.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/mpr/mpr.c b/sys/dev/mpr/mpr.c
index 1a75707cbe33..6aff753edc7b 100644
--- a/sys/dev/mpr/mpr.c
+++ b/sys/dev/mpr/mpr.c
@@ -677,7 +677,11 @@ mpr_iocfacts_allocate(struct mpr_softc *sc, uint8_t attaching)
return (error);
}
- if ((error = mpr_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 = mpr_pci_setup_interrupts(sc)) != 0) {
mpr_dprint(sc, MPR_INIT|MPR_ERROR,
"Failed to setup interrupts\n");
mpr_free(sc);
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);