Date: Fri, 5 Jan 2007 14:12:34 -0500 From: John Baldwin <jhb@freebsd.org> To: Paolo Pisati <piso@freebsd.org> Cc: Perforce Change Reviews <perforce@freebsd.org> Subject: Re: PERFORCE change 112554 for review Message-ID: <200701051412.35212.jhb@freebsd.org> In-Reply-To: <200701051901.l05J17RW001347@repoman.freebsd.org> References: <200701051901.l05J17RW001347@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 05 January 2007 14:01, Paolo Pisati wrote: > 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. More likely is that it shouldnt' disable the IRQ line except in the disable_eoi_source callback. > 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); > -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701051412.35212.jhb>