Date: Thu, 5 Sep 2002 04:09:31 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Poul-Henning Kamp <phk@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, <cvs-all@FreeBSD.org> Subject: Re: cvs commit: src/sys/dev/puc puc.c pucvar.h Message-ID: <20020905030030.Y1990-100000@gamplex.bde.org> In-Reply-To: <200209041529.g84FT5dY078632@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 4 Sep 2002, Poul-Henning Kamp wrote:
> phk 2002/09/04 08:29:04 PDT
>
> Modified files:
> sys/dev/puc puc.c pucvar.h
> Log:
> Bring back the PUC_FASTINTR option, and implement it correctly so that
> child devices also know if they are fast or normal.
>
> Requested by: bde
Thanks.
The following untested patch is supposed to fix the case of a normal child
attempting to attach to a fast parent (this shouldn't be permitted, though
it will work if the child is sio since sio's interrupt handler is really
fast even when it it attached as normal.
%%%
Index: puc.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/puc/puc.c,v
retrieving revision 1.15
diff -u -2 -r1.15 puc.c
--- puc.c 4 Sep 2002 15:29:04 -0000 1.15
+++ puc.c 4 Sep 2002 18:03:58 -0000
@@ -164,5 +164,5 @@
INTR_TYPE_TTY | INTR_FAST, puc_intr, sc, &sc->intr_cookie);
if (irq_setup == 0)
- sc->fastintr = 1;
+ sc->fastintr = INTR_FAST;
else
irq_setup = BUS_SETUP_INTR(device_get_parent(dev), dev, res,
@@ -462,5 +462,5 @@
sc = (struct puc_softc *)device_get_softc(dev);
- if ((flags & INTR_FAST) && !sc->fastintr)
+ if ((flags & INTR_FAST) != sc->fastintr)
return (ENXIO);
for (i = 0; PUC_PORT_VALID(sc->sc_desc, i); i++) {
%%%
Bruce
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020905030030.Y1990-100000>
