summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryamt <yamt@NetBSD.org>2012-06-15 14:07:44 +0000
committeryamt <yamt@NetBSD.org>2012-06-15 14:07:44 +0000
commita84772f5da67f73260142eeff012ed2ca3f097dc (patch)
treea0e07b3f00472d126e725dad11f1c612bd18002f
parent5e715b4c9869d4eac633d2f5a90ba294e23f1a1f (diff)
comment
-rw-r--r--sys/arch/x86/pci/pci_intr_machdep.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/arch/x86/pci/pci_intr_machdep.c b/sys/arch/x86/pci/pci_intr_machdep.c
index 2a1c0b0ac0b..6f8af7152cd 100644
--- a/sys/arch/x86/pci/pci_intr_machdep.c
+++ b/sys/arch/x86/pci/pci_intr_machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pci_intr_machdep.c,v 1.24 2012/06/15 14:02:41 yamt Exp $ */
+/* $NetBSD: pci_intr_machdep.c,v 1.25 2012/06/15 14:07:44 yamt Exp $ */
/*-
* Copyright (c) 1997, 1998, 2009 The NetBSD Foundation, Inc.
@@ -73,7 +73,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pci_intr_machdep.c,v 1.24 2012/06/15 14:02:41 yamt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_intr_machdep.c,v 1.25 2012/06/15 14:07:44 yamt Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -144,6 +144,10 @@ pci_intr_map(const struct pci_attach_args *pa, pci_intr_handle_t *ihp)
KASSERT(rawpin <= PCI_INTERRUPT_PIN_D);
pci_decompose_tag(pc, pa->pa_tag, &bus, &dev, &func);
if (mp_busses != NULL) {
+ /*
+ * Note: PCI_INTERRUPT_PIN_A == 1 where intr_find_mpmapping
+ * wants pci bus_pin encoding which uses INT_A == 0.
+ */
if (intr_find_mpmapping(bus,
(dev << 2) | (rawpin - PCI_INTERRUPT_PIN_A), ihp) == 0) {
if (APIC_IRQ_LEGACY_IRQ(*ihp) == 0)