In message <[EMAIL PROTECTED]>,Tibor Pausz writ
es:
>Today I tried your patch. Well, I breaks the hole interrupt stuff.
>Now, even Mesh has trouble with interrupts (kernel crash), the
>console=ttyS0 doesn't work so no output from the booting ...

i was wrong about the checking for the interrupts property before
allocating an interrupt. the correct patch follows:

--- prom.c.000  Thu Dec 28 08:43:12 2000
+++ prom.c      Tue Jan  2 09:18:53 2001
@@ -1563,8 +1563,8 @@
        }
 
        ip = (int *) get_property(np, "AAPL,interrupts", &l);
-       if (ip == 0)
-               ip = (int *) get_property(np, "interrupts", &l);
+       if (ip == 0 && np->parent != NULL)
+               ip = (int *) get_property(np->parent, "AAPL,interrupts", &l);
        if (ip != 0) {
                np->intrs = (struct interrupt_info *) mem_start;
                np->n_intrs = l / sizeof(int);
@@ -1616,8 +1616,8 @@
                return mem_start;
 
        ip = (int *) get_property(np, "AAPL,interrupts", &l);
-       if (ip == 0)
-               ip = (int *) get_property(np, "interrupts", &l);
+       if (ip == 0 && np->parent != NULL)
+               ip = (int *) get_property(np->parent, "AAPL,interrupts", &l);
        if (ip != 0) {
                np->intrs = (struct interrupt_info *) mem_start;
                np->n_intrs = l / sizeof(int);

Reply via email to