diff options
author | msmith <msmith@FreeBSD.org> | 2002-02-12 01:28:49 +0000 |
---|---|---|
committer | msmith <msmith@FreeBSD.org> | 2002-02-12 01:28:49 +0000 |
commit | 03a880e06db6aa0eb1a01712a3acccf3f560ea10 (patch) | |
tree | a9471a2bf344ae1f66ed26f8f2bc9b714e56baa9 /sys | |
parent | 1e9b142f057cb83c192f14b46c2be0501900710c (diff) | |
download | FreeBSD-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.c | 6 | ||||
-rw-r--r-- | sys/dev/pci/pcivar.h | 5 |
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 |