From baf5e09769325c8052d162b3876f92ec50e473c5 Mon Sep 17 00:00:00 2001 From: phk Date: Tue, 3 Sep 2002 11:22:13 +0000 Subject: [PATCH] Fix interrupt registration: PUC devices live on pccard or pci so INTR_FAST is never really an option. Don't try to register the interrupt as fast and don't allow the children to do so either. --- sys/dev/puc/puc.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/sys/dev/puc/puc.c b/sys/dev/puc/puc.c index 708239d7c72e..919c3dc5c4ea 100644 --- a/sys/dev/puc/puc.c +++ b/sys/dev/puc/puc.c @@ -159,15 +159,8 @@ puc_attach(device_t dev, const struct puc_device_description *desc) sc->irqres = res; sc->irqrid = rid; -#ifdef PUC_FASTINTR irq_setup = BUS_SETUP_INTR(device_get_parent(dev), dev, res, - INTR_TYPE_TTY | INTR_FAST, puc_intr, sc, &sc->intr_cookie); -#else - irq_setup = ENXIO; -#endif - if (irq_setup != 0) - irq_setup = BUS_SETUP_INTR(device_get_parent(dev), dev, res, - INTR_TYPE_TTY, puc_intr, sc, &sc->intr_cookie); + INTR_TYPE_TTY, puc_intr, sc, &sc->intr_cookie); if (irq_setup != 0) return (ENXIO); @@ -457,7 +450,8 @@ puc_setup_intr(device_t dev, device_t child, struct resource *r, int flags, int i; struct puc_softc *sc; -printf("puc_setup_intr()\n"); + if (flags & INTR_FAST) + return (ENXIO); sc = (struct puc_softc *)device_get_softc(dev); for (i = 0; PUC_PORT_VALID(sc->sc_desc, i); i++) { if (sc->sc_ports[i].dev == child) { @@ -479,7 +473,6 @@ puc_teardown_intr(device_t dev, device_t child, struct resource *r, int i; struct puc_softc *sc; -printf("puc_teardown_intr()\n"); sc = (struct puc_softc *)device_get_softc(dev); for (i = 0; PUC_PORT_VALID(sc->sc_desc, i); i++) { if (sc->sc_ports[i].dev == child) {