diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2002-05-29 08:28:37 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2002-05-29 08:28:37 +0000 |
commit | edde039733e1826704ef35d2b80730722974d083 (patch) | |
tree | 514ff1305923444b34a7077fcef01cb19f7bdb1d /sys/arch | |
parent | b45a740441978cca11578cac7315576b053d520f (diff) |
splbio around biodone.
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/sparc/dev/fd.c | 6 | ||||
-rw-r--r-- | sys/arch/sparc/dev/xd.c | 4 | ||||
-rw-r--r-- | sys/arch/sparc/dev/xy.c | 4 |
3 files changed, 11 insertions, 3 deletions
diff --git a/sys/arch/sparc/dev/fd.c b/sys/arch/sparc/dev/fd.c index 1488213b930..e4c3ba3d3b2 100644 --- a/sys/arch/sparc/dev/fd.c +++ b/sys/arch/sparc/dev/fd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: fd.c,v 1.28 2002/04/30 01:12:29 art Exp $ */ +/* $OpenBSD: fd.c,v 1.29 2002/05/29 08:28:36 art Exp $ */ /* $NetBSD: fd.c,v 1.51 1997/05/24 20:16:19 pk Exp $ */ /*- @@ -718,7 +718,9 @@ bad: bp->b_flags |= B_ERROR; done: /* Toss transfer; we're done early. */ + s = splbio(); biodone(bp); + splx(s); } void @@ -1780,7 +1782,9 @@ fdformat(dev, finfo, p) if (rv == EWOULDBLOCK) { /* timed out */ rv = EIO; + s = splbio(); biodone(bp); + splx(s); } if (bp->b_flags & B_ERROR) { rv = bp->b_error; diff --git a/sys/arch/sparc/dev/xd.c b/sys/arch/sparc/dev/xd.c index 9648f63ea3d..4a6ab84f39a 100644 --- a/sys/arch/sparc/dev/xd.c +++ b/sys/arch/sparc/dev/xd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xd.c,v 1.22 2002/04/30 01:12:29 art Exp $ */ +/* $OpenBSD: xd.c,v 1.23 2002/05/29 08:28:36 art Exp $ */ /* $NetBSD: xd.c,v 1.37 1997/07/29 09:58:16 fair Exp $ */ /* @@ -1121,7 +1121,9 @@ bad: /* tells upper layers we have an error */ done: /* tells upper layers we are done with this * buf */ bp->b_resid = bp->b_bcount; + s = splbio(); biodone(bp); + splx(s); } /* * end of {b,c}devsw functions diff --git a/sys/arch/sparc/dev/xy.c b/sys/arch/sparc/dev/xy.c index 169fe362d8c..ed8dc58d41b 100644 --- a/sys/arch/sparc/dev/xy.c +++ b/sys/arch/sparc/dev/xy.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xy.c,v 1.19 2002/04/30 01:12:29 art Exp $ */ +/* $OpenBSD: xy.c,v 1.20 2002/05/29 08:28:36 art Exp $ */ /* $NetBSD: xy.c,v 1.26 1997/07/19 21:43:56 pk Exp $ */ /* @@ -1059,7 +1059,9 @@ bad: /* tells upper layers we have an error */ done: /* tells upper layers we are done with this * buf */ bp->b_resid = bp->b_bcount; + s = splbio(); biodone(bp); + splx(s); } /* * end of {b,c}devsw functions |