diff options
Diffstat (limited to 'sys/dev/aac')
-rw-r--r-- | sys/dev/aac/aac.c | 12 | ||||
-rw-r--r-- | sys/dev/aac/aacvar.h | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/sys/dev/aac/aac.c b/sys/dev/aac/aac.c index 3b6ad54..078f809 100644 --- a/sys/dev/aac/aac.c +++ b/sys/dev/aac/aac.c @@ -305,20 +305,21 @@ aac_attach(struct aac_softc *sc) } if (sc->flags & AAC_FLAGS_NEW_COMM) { if (bus_setup_intr(sc->aac_dev, sc->aac_irq, - INTR_MPSAFE|INTR_TYPE_BIO, aac_new_intr, - sc, &sc->aac_intr)) { + INTR_MPSAFE|INTR_TYPE_BIO, NULL, + aac_new_intr, sc, &sc->aac_intr)) { device_printf(sc->aac_dev, "can't set up interrupt\n"); return (EINVAL); } } else { if (bus_setup_intr(sc->aac_dev, sc->aac_irq, - INTR_FAST|INTR_TYPE_BIO, aac_fast_intr, + INTR_TYPE_BIO, aac_fast_intr, NULL, sc, &sc->aac_intr)) { device_printf(sc->aac_dev, "can't set up FAST interrupt\n"); if (bus_setup_intr(sc->aac_dev, sc->aac_irq, INTR_MPSAFE|INTR_TYPE_BIO, - aac_fast_intr, sc, &sc->aac_intr)) { + NULL, (driver_intr_t *)aac_fast_intr, + sc, &sc->aac_intr)) { device_printf(sc->aac_dev, "can't set up MPSAFE interrupt\n"); return (EINVAL); @@ -780,7 +781,7 @@ aac_new_intr(void *arg) mtx_unlock(&sc->aac_io_lock); } -void +int aac_fast_intr(void *arg) { struct aac_softc *sc; @@ -822,6 +823,7 @@ aac_fast_intr(void *arg) */ wakeup(sc->aifthread); } + return (FILTER_HANDLED); } /* diff --git a/sys/dev/aac/aacvar.h b/sys/dev/aac/aacvar.h index a5ae32b..de3425b 100644 --- a/sys/dev/aac/aacvar.h +++ b/sys/dev/aac/aacvar.h @@ -425,7 +425,7 @@ extern int aac_shutdown(device_t dev); extern int aac_suspend(device_t dev); extern int aac_resume(device_t dev); extern void aac_new_intr(void *arg); -extern void aac_fast_intr(void *arg); +extern int aac_fast_intr(void *arg); extern void aac_submit_bio(struct bio *bp); extern void aac_biodone(struct bio *bp); extern void aac_startio(struct aac_softc *sc); |