summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>2002-02-12 01:28:49 +0000
committermsmith <msmith@FreeBSD.org>2002-02-12 01:28:49 +0000
commit03a880e06db6aa0eb1a01712a3acccf3f560ea10 (patch)
treea9471a2bf344ae1f66ed26f8f2bc9b714e56baa9 /sys
parent1e9b142f057cb83c192f14b46c2be0501900710c (diff)
downloadFreeBSD-src-03a880e06db6aa0eb1a01712a3acccf3f560ea10.zip
FreeBSD-src-03a880e06db6aa0eb1a01712a3acccf3f560ea10.tar.gz
Don't claim to have routed an interrupt when the method actually returned an
error.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/pci_pci.c6
-rw-r--r--sys/dev/pci/pcivar.h5
2 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c
index 9c1de44..8b5eef5 100644
--- a/sys/dev/pci/pci_pci.c
+++ b/sys/dev/pci/pci_pci.c
@@ -409,7 +409,9 @@ pcib_route_interrupt(device_t pcib, device_t dev, int pin)
*/
bus = device_get_parent(pcib);
intnum = PCIB_ROUTE_INTERRUPT(device_get_parent(bus), pcib, parent_intpin + 1);
- device_printf(pcib, "routed slot %d INT%c to irq %d\n", pci_get_slot(dev),
- 'A' + pin - 1, intnum);
+ if (PCI_INTERRUPT_VALID(intnum)) {
+ device_printf(pcib, "routed slot %d INT%c to irq %d\n", pci_get_slot(dev),
+ 'A' + pin - 1, intnum);
+ }
return(intnum);
}
diff --git a/sys/dev/pci/pcivar.h b/sys/dev/pci/pcivar.h
index 432f885..0b8cf14 100644
--- a/sys/dev/pci/pcivar.h
+++ b/sys/dev/pci/pcivar.h
@@ -246,6 +246,11 @@ PCIB_ACCESSOR(bus, BUS, u_int32_t)
#undef PCIB_ACCESSOR
/*
+ * PCI interrupt validation.
+ */
+#define PCI_INTERRUPT_VALID(x) (((x) != 0) && ((x) != 255))
+
+/*
* Convenience functions.
*
* These should be used in preference to manually manipulating
OpenPOWER on IntegriCloud