diff options
author | jhb <jhb@FreeBSD.org> | 2004-04-16 18:54:05 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2004-04-16 18:54:05 +0000 |
commit | 1499f7edc5e949e8ab6aa24488640bb13929e7d2 (patch) | |
tree | bc759e7c363526f099911cdf7fdbab270f29eec8 /sys | |
parent | da1055b4cfd3cf914cf3162631c1f2028a541d0b (diff) | |
download | FreeBSD-src-1499f7edc5e949e8ab6aa24488640bb13929e7d2.zip FreeBSD-src-1499f7edc5e949e8ab6aa24488640bb13929e7d2.tar.gz |
Don't call the BIOS to route a link that has already been routed by the
BIOS during POST as it apparently makes some machines unhappy.
Tested by: mux
Diffstat (limited to 'sys')
-rw-r--r-- | sys/i386/pci/pci_pir.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/i386/pci/pci_pir.c b/sys/i386/pci/pci_pir.c index ea924a8..f1f80cd 100644 --- a/sys/i386/pci/pci_pir.c +++ b/sys/i386/pci/pci_pir.c @@ -315,9 +315,10 @@ pci_pir_initial_irqs(struct PIR_entry *entry, struct PIR_intpin *intpin, if (irq == PCI_INVALID_IRQ) return; if (pci_pir_valid_irq(pci_link, irq)) { - if (pci_link->pl_irq == PCI_INVALID_IRQ) + if (pci_link->pl_irq == PCI_INVALID_IRQ) { pci_link->pl_irq = irq; - else if (pci_link->pl_irq != irq) + pci_link->pl_routed = 1; + } else if (pci_link->pl_irq != irq) printf( "$PIR: BIOS IRQ %d for %d.%d.INT%c does not match link %#x irq %d\n", irq, entry->pe_bus, entry->pe_device, pin + 'A', |