NetBSD-Bugs archive

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

Re: port-evbppc/40288: ci_idepth{++,--} is needed in ext_intr() for ibm4xx



> >Synopsis:       ci_idepth{++,--} seems to be needed in ext_intr() for ibm4xx

Could you try this one instead?
(taken from powerpc/pic/intr.c:pic_handle_intr())

Index: intr.c
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/ibm4xx/intr.c,v
retrieving revision 1.20
diff -u -r1.20 intr.c
--- intr.c      2 Jan 2008 11:48:27 -0000       1.20
+++ intr.c      31 Dec 2008 16:58:06 -0000
@@ -251,6 +251,7 @@
                        ci->ci_ipending |= r_imen;
                        disable_irq(i);
                } else {
+                       ci->ci_idepth++;
                        splraise(intrs[i].is_mask);
                        if (intrs[i].is_type == IST_LEVEL)
                                disable_irq(i);
@@ -272,6 +273,7 @@
                        ci->ci_cpl = pcpl;
                        uvmexp.intrs++;
                        intrs[i].is_evcnt.ev_count++;
+                       ci->ci_idepth--;
                }
        }
        mtdcr(INTR_ACK, bits_to_clear); /* Acknowledge all pending interrupts */

---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index