Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jan 2007 20:16:51 GMT
From:      Paolo Pisati <piso@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 112560 for review
Message-ID:  <200701052016.l05KGpZp019705@repoman.freebsd.org>

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

Change 112560 by piso@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");



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