Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jan 2007 19:01:07 GMT
From:      Paolo Pisati <piso@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 112554 for review
Message-ID:  <200701051901.l05J17RW001347@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=112554

Change 112554 by piso@piso_newluxor on 2007/01/05 19:00:07

	Enable the irq line just after the filter claimed the interrupt.

Affected files ...

.. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#19 edit

Differences ...

==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#19 (text+ko) ====

@@ -262,6 +262,15 @@
 	}
 }
 
+static void
+intr_eoi_src(void *arg)
+{
+	uintptr_t nb;
+
+	nb = (uintptr_t)arg;
+	irq_enable(nb);
+}
+
 void
 intr_handle(u_int irq)
 {
@@ -280,13 +289,12 @@
 	ie = i->event;
 	KASSERT(ie != NULL, ("%s: interrupt without an event", __func__));
 
-	res = handle_intr(ie, NULL, intr_eoi_src_stub, 
-	    intr_disab_eoi_src_stub, NULL);
+	res = handle_intr(ie, NULL, intr_eoi_src, 
+	    intr_disab_eoi_src_stub, (void *)irq);
 	switch(res) {
 	case 0:
-		break;
+		/* FALLTHROUGH */
 	case ECHILD:
-		irq_enable(irq);
 		break;
 	case EINVAL:
 		stray_int(irq);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701051901.l05J17RW001347>