diff options
author | Paolo Pisati <piso@FreeBSD.org> | 2007-02-27 15:31:11 +0000 |
---|---|---|
committer | Paolo Pisati <piso@FreeBSD.org> | 2007-02-27 15:31:11 +0000 |
commit | fe59e41138a0bf10b2360bba6e64dfaf37e29507 (patch) | |
tree | 8eb18b5f6617df038e35300dc670bb8a9f653393 | |
parent | ad3b9f70edfee478f6d49a3da81e1f62b0a4526c (diff) | |
download | src-fe59e41138a0bf10b2360bba6e64dfaf37e29507.tar.gz src-fe59e41138a0bf10b2360bba6e64dfaf37e29507.zip |
Add proper return codes to zs_intr() filter, and fix accordinlgly zs_intr()
prototype.
Notes
Notes:
svn path=/head/; revision=167073
-rw-r--r-- | sys/dev/zs/z8530var.h | 2 | ||||
-rw-r--r-- | 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 1e5fef7d3282..ecab65aa60fb 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 21195a233b4a..f6795af9a871 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 |