Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/sommerfeld_i386mp_1]: src/sys/arch/i386/isa MP interrupt routing bugfix:...



details:   https://anonhg.NetBSD.org/src/rev/989c3bff8960
branches:  sommerfeld_i386mp_1
changeset: 482322:989c3bff8960
user:      sommerfeld <sommerfeld%NetBSD.org@localhost>
date:      Sat Dec 02 03:55:09 2000 +0000

description:
MP interrupt routing bugfix: Don't trip over nonexistant ISA bus
before we get to the EISA fallback code..

diffstat:

 sys/arch/i386/isa/isa_machdep.c |  16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diffs (35 lines):

diff -r 94f0b07805e6 -r 989c3bff8960 sys/arch/i386/isa/isa_machdep.c
--- a/sys/arch/i386/isa/isa_machdep.c   Mon Nov 27 01:09:00 2000 +0000
+++ b/sys/arch/i386/isa/isa_machdep.c   Sat Dec 02 03:55:09 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: isa_machdep.c,v 1.45.2.4 2000/08/21 02:25:16 sommerfeld Exp $  */
+/*     $NetBSD: isa_machdep.c,v 1.45.2.5 2000/12/02 03:55:09 sommerfeld Exp $  */
 
 #define ISA_DMA_STATS
 
@@ -505,17 +505,19 @@
        struct intrhand **p, *q, *ih;
        static struct intrhand fakehand = {fakeintr};
 #if NIOAPIC > 0
-       struct mp_intr_map *mip;
+       struct mp_intr_map *mip = NULL;
        
        if (mp_busses != NULL) {
                int mpspec_pin = irq;
                int airq;
                int bus = mp_isa_bus;
-               
-               for (mip = mp_busses[bus].mb_intrs; mip != NULL; mip=mip->next) {
-                       if (mip->bus_pin == mpspec_pin) {
-                               airq = mip->ioapic_ih | irq;
-                               break;
+               if (mp_isa_bus != -1) {
+                       for (mip = mp_busses[bus].mb_intrs; mip != NULL;
+                            mip=mip->next) {
+                               if (mip->bus_pin == mpspec_pin) {
+                                       airq = mip->ioapic_ih | irq;
+                                       break;
+                               }
                        }
                }
 #if NEISA > 0



Home | Main Index | Thread Index | Old Index