PERFORCE change 112560 for review

Paolo Pisati piso at FreeBSD.org
Fri Jan 5 12:16:52 PST 2007


http://perforce.freebsd.org/chv.cgi?CH=112560

Change 112560 by piso at piso_newluxor on 2007/01/05 20:16:33

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

Affected files ...

.. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#13 edit

Differences ...

==== //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#13 (text+ko) ====

@@ -380,6 +380,15 @@
 	mtx_unlock_spin(&ia64_intrs_lock);	
 }
 
+static void
+intr_eoi_src(void *arg)
+{
+	uintptr_t nb;
+
+	nb = (uintptr_t)arg;
+	ia64_send_eoi(nb);
+}
+
 void
 ia64_dispatch_intr(void *frame, unsigned long vector)
 {
@@ -396,13 +405,12 @@
 	if (i->cntp)
 		atomic_add_long(i->cntp, 1);
 
-	res = handle_intr(i->event, frame, intr_eoi_src_stub, 
-	    intr_disab_eoi_src_stub, NULL);
+	res = handle_intr(i->event, frame, intr_eoi_src, 
+	    intr_disab_eoi_src_stub, (void *)vector);
 	switch (res) {
 	case 0:
-		break;
+		/* FALLTHROUGH */
 	case ECHILD:
-		ia64_send_eoi(vector);
 		break;
 	case EINVAL:
 		panic("Interrupt vector without an event\n");


More information about the p4-projects mailing list