summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2003-06-09 18:08:46 +0000
committerjhb <jhb@FreeBSD.org>2003-06-09 18:08:46 +0000
commitccd243b6dab1fb27d3bd852e7faa849b0101a219 (patch)
tree655e863723f49feabd7d6981c205c45ebfe8638c
parent54803093749811fd48986e5189e4c2c289b9565f (diff)
downloadFreeBSD-src-ccd243b6dab1fb27d3bd852e7faa849b0101a219.zip
FreeBSD-src-ccd243b6dab1fb27d3bd852e7faa849b0101a219.tar.gz
When we re-route a PCI interrupt, write the new IRQ value into the intline
register. Reviewed by: imp
-rw-r--r--sys/dev/pci/pci.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index cf316cc..f50ab27 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -806,9 +806,10 @@ pci_add_resources(device_t pcib, device_t dev)
* have.
*/
irq = PCIB_ROUTE_INTERRUPT(pcib, dev, cfg->intpin);
- if (PCI_INTERRUPT_VALID(irq))
+ if (PCI_INTERRUPT_VALID(irq)) {
+ pci_write_config(dev, PCIR_INTLINE, irq, 1);
cfg->intline = irq;
- else
+ } else
#endif
irq = cfg->intline;
resource_list_add(rl, SYS_RES_IRQ, 0, irq, irq, 1);
OpenPOWER on IntegriCloud