diff options
| author | yamt <yamt@NetBSD.org> | 2012-06-15 14:07:44 +0000 |
|---|---|---|
| committer | yamt <yamt@NetBSD.org> | 2012-06-15 14:07:44 +0000 |
| commit | a84772f5da67f73260142eeff012ed2ca3f097dc (patch) | |
| tree | a0e07b3f00472d126e725dad11f1c612bd18002f | |
| parent | 5e715b4c9869d4eac633d2f5a90ba294e23f1a1f (diff) | |
comment
| -rw-r--r-- | sys/arch/x86/pci/pci_intr_machdep.c | 8 |
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) |
