summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2002-05-29 08:28:37 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2002-05-29 08:28:37 +0000
commitedde039733e1826704ef35d2b80730722974d083 (patch)
tree514ff1305923444b34a7077fcef01cb19f7bdb1d /sys/arch
parentb45a740441978cca11578cac7315576b053d520f (diff)
splbio around biodone.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/sparc/dev/fd.c6
-rw-r--r--sys/arch/sparc/dev/xd.c4
-rw-r--r--sys/arch/sparc/dev/xy.c4
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