diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2002-05-30 11:03:53 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2002-05-30 11:03:53 +0000 |
commit | 44e84fa8e11719f94458e3ff1ce6d93fec7ad8b7 (patch) | |
tree | e144d78e0788c3c633a5f5b943e11c3c8ec202ba /sys/arch/hp300/dev | |
parent | 27fd3e6a6743421739e5ab920b0d40cb00062180 (diff) |
protect biodone with splbio.
miod@ ok.
Diffstat (limited to 'sys/arch/hp300/dev')
-rw-r--r-- | sys/arch/hp300/dev/ac.c | 9 | ||||
-rw-r--r-- | sys/arch/hp300/dev/hd.c | 4 | ||||
-rw-r--r-- | sys/arch/hp300/dev/mt.c | 4 | ||||
-rw-r--r-- | sys/arch/hp300/dev/sd.c | 4 |
4 files changed, 15 insertions, 6 deletions
diff --git a/sys/arch/hp300/dev/ac.c b/sys/arch/hp300/dev/ac.c index 17d3247e2f4..48bf4481cef 100644 --- a/sys/arch/hp300/dev/ac.c +++ b/sys/arch/hp300/dev/ac.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ac.c,v 1.9 2002/03/14 01:26:30 millert Exp $ */ +/* $OpenBSD: ac.c,v 1.10 2002/05/30 11:03:52 art Exp $ */ /* $NetBSD: ac.c,v 1.9 1997/04/02 22:37:21 scottr Exp $ */ /* @@ -359,6 +359,7 @@ acgo(arg) struct ac_softc *sc = arg; struct buf *bp = sc->sc_bp; int stat; + int s; #ifdef DEBUG if (ac_debug & ACD_FOLLOW) @@ -373,7 +374,9 @@ acgo(arg) if (stat) { bp->b_error = EIO; bp->b_flags |= B_ERROR; - (void) biodone(bp); + s = splbio(); + biodone(bp); + splx(s); scsifree(sc->sc_dev.dv_parent, &sc->sc_sq); } } @@ -410,7 +413,7 @@ acintr(arg, stat) stat); break; } - (void) biodone(sc->sc_bp); + biodone(sc->sc_bp); scsifree(sc->sc_dev.dv_parent, &sc->sc_sq); } diff --git a/sys/arch/hp300/dev/hd.c b/sys/arch/hp300/dev/hd.c index a112a1c1c13..1c4e1345e6e 100644 --- a/sys/arch/hp300/dev/hd.c +++ b/sys/arch/hp300/dev/hd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: hd.c,v 1.15 2002/03/14 01:26:30 millert Exp $ */ +/* $OpenBSD: hd.c,v 1.16 2002/05/30 11:03:52 art Exp $ */ /* $NetBSD: rd.c,v 1.33 1997/07/10 18:14:08 kleink Exp $ */ /* @@ -705,7 +705,9 @@ hdstrategy(bp) bad: bp->b_flags |= B_ERROR; done: + s = splbio(); biodone(bp); + splx(s); } /* diff --git a/sys/arch/hp300/dev/mt.c b/sys/arch/hp300/dev/mt.c index 6c051f68670..fe7a9defa23 100644 --- a/sys/arch/hp300/dev/mt.c +++ b/sys/arch/hp300/dev/mt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mt.c,v 1.10 2002/05/23 15:31:57 art Exp $ */ +/* $OpenBSD: mt.c,v 1.11 2002/05/30 11:03:52 art Exp $ */ /* $NetBSD: mt.c,v 1.8 1997/03/31 07:37:29 scottr Exp $ */ /* @@ -473,7 +473,9 @@ mtstrategy(bp) #endif bp->b_flags |= B_ERROR; bp->b_error = EIO; + s = splbio(); biodone(bp); + splx(s); return; } } diff --git a/sys/arch/hp300/dev/sd.c b/sys/arch/hp300/dev/sd.c index df542861022..f4181738062 100644 --- a/sys/arch/hp300/dev/sd.c +++ b/sys/arch/hp300/dev/sd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sd.c,v 1.24 2002/03/14 01:26:30 millert Exp $ */ +/* $OpenBSD: sd.c,v 1.25 2002/05/30 11:03:52 art Exp $ */ /* $NetBSD: sd.c,v 1.34 1997/07/10 18:14:10 kleink Exp $ */ /* @@ -798,7 +798,9 @@ sdstrategy(bp) bad: bp->b_flags |= B_ERROR; done: + s = splbio(); biodone(bp); + splx(s); } void |