From 44fdc89cd9410e4366f22e761c5bde53d15623fa Mon Sep 17 00:00:00 2001 From: piso Date: Tue, 27 Feb 2007 15:31:11 +0000 Subject: Add proper return codes to zs_intr() filter, and fix accordinlgly zs_intr() prototype. --- sys/dev/zs/z8530var.h | 2 +- sys/dev/zs/zs.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/dev/zs/z8530var.h b/sys/dev/zs/z8530var.h index 1e5fef7..ecab65a 100644 --- a/sys/dev/zs/z8530var.h +++ b/sys/dev/zs/z8530var.h @@ -65,7 +65,7 @@ struct zstty_softc { int zs_attach(device_t dev); int zs_probe(device_t dev); -void zs_intr(void *v); +int zs_intr(void *v); int zstty_attach(device_t dev); int zstty_probe(device_t dev); diff --git a/sys/dev/zs/zs.c b/sys/dev/zs/zs.c index 21195a2..f6795af 100644 --- a/sys/dev/zs/zs.c +++ b/sys/dev/zs/zs.c @@ -197,7 +197,7 @@ zs_attach(device_t dev) return (0); } -void +int zs_intr(void *v) { struct zs_softc *sc = v; @@ -216,8 +216,11 @@ zs_intr(void *v) needsoft |= zstty_intr(sc->sc_child[0], rr3 >> 3); if ((rr3 & (ZSRR3_IP_B_RX | ZSRR3_IP_B_TX | ZSRR3_IP_B_STAT)) != 0) needsoft |= zstty_intr(sc->sc_child[1], rr3); - if (needsoft) + if (needsoft) { swi_sched(sc->sc_softih, 0); + return (FILTER_HANDLED); + } + return (FILTER_STRAY); } static void -- cgit v1.1