summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2002-06-08 08:50:27 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2002-06-08 08:50:27 +0000
commit94d1681e1d4c04e4f4384d9e36f0ae6e74560409 (patch)
tree89608c8f0edccd88b05e452116284dc24c6d64d4 /sys
parent84eb493436172260ba7e053ca26252e495c4aa42 (diff)
protect biodone with splbio
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/vax/mba/hp.c4
-rw-r--r--sys/arch/vax/mscp/mscp_disk.c12
-rw-r--r--sys/arch/vax/mscp/mscp_tape.c8
-rw-r--r--sys/arch/vax/qbus/qd.c6
-rw-r--r--sys/arch/vax/uba/ts.c5
-rw-r--r--sys/arch/vax/vax/ctu.c4
-rw-r--r--sys/arch/vax/vsa/hdc9224.c4
7 files changed, 36 insertions, 7 deletions
diff --git a/sys/arch/vax/mba/hp.c b/sys/arch/vax/mba/hp.c
index 3d8b3f74d43..d395379dbbc 100644
--- a/sys/arch/vax/mba/hp.c
+++ b/sys/arch/vax/mba/hp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: hp.c,v 1.11 2002/03/14 01:26:48 millert Exp $ */
+/* $OpenBSD: hp.c,v 1.12 2002/06/08 08:50:26 art Exp $ */
/* $NetBSD: hp.c,v 1.22 2000/02/12 16:09:33 ragge Exp $ */
/*
* Copyright (c) 1996 Ludd, University of Lule}, Sweden.
@@ -208,7 +208,9 @@ hpstrategy(bp)
done:
bp->b_resid = bp->b_bcount;
+ s = splbio();
biodone(bp);
+ splx(s);
}
/*
diff --git a/sys/arch/vax/mscp/mscp_disk.c b/sys/arch/vax/mscp/mscp_disk.c
index a4fdc8649f4..c2da8381392 100644
--- a/sys/arch/vax/mscp/mscp_disk.c
+++ b/sys/arch/vax/mscp/mscp_disk.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mscp_disk.c,v 1.10 2002/03/14 01:26:48 millert Exp $ */
+/* $OpenBSD: mscp_disk.c,v 1.11 2002/06/08 08:50:26 art Exp $ */
/* $NetBSD: mscp_disk.c,v 1.30 2001/11/13 07:38:28 lukem Exp $ */
/*
* Copyright (c) 1996 Ludd, University of Lule}, Sweden.
@@ -292,6 +292,8 @@ rastrategy(bp)
{
int unit;
struct ra_softc *ra;
+ int s;
+
/*
* Make sure this is a reasonable drive to use.
*/
@@ -332,7 +334,9 @@ rastrategy(bp)
return;
done:
+ s = splbio();
biodone(bp);
+ splx(s);
}
int
@@ -699,6 +703,7 @@ rxstrategy(bp)
{
int unit;
struct rx_softc *rx;
+ int s;
/*
* Make sure this is a reasonable drive to use.
@@ -734,7 +739,9 @@ rxstrategy(bp)
return;
done:
+ s = splbio();
biodone(bp);
+ splx(s);
}
int
@@ -869,8 +876,11 @@ rriodone(usc, bp)
struct device *usc;
struct buf *bp;
{
+ int s;
+ s = splbio();
biodone(bp);
+ splx(s);
}
/*
diff --git a/sys/arch/vax/mscp/mscp_tape.c b/sys/arch/vax/mscp/mscp_tape.c
index 4b88d804d67..b905624d517 100644
--- a/sys/arch/vax/mscp/mscp_tape.c
+++ b/sys/arch/vax/mscp/mscp_tape.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mscp_tape.c,v 1.7 2002/03/14 01:26:48 millert Exp $ */
+/* $OpenBSD: mscp_tape.c,v 1.8 2002/06/08 08:50:26 art Exp $ */
/* $NetBSD: mscp_tape.c,v 1.16 2001/11/13 07:38:28 lukem Exp $ */
/*
* Copyright (c) 1996 Ludd, University of Lule}, Sweden.
@@ -257,6 +257,7 @@ mtstrategy(bp)
{
int unit;
struct mt_softc *mt;
+ int s;
/*
* Make sure this is a reasonable drive to use.
@@ -273,7 +274,9 @@ mtstrategy(bp)
bad:
bp->b_flags |= B_ERROR;
+ s = splbio();
biodone(bp);
+ splx(s);
}
int
@@ -299,8 +302,11 @@ mtiodone(usc, bp)
struct device *usc;
struct buf *bp;
{
+ int s;
+ s = splbio();
biodone(bp);
+ splx(s);
}
/*
diff --git a/sys/arch/vax/qbus/qd.c b/sys/arch/vax/qbus/qd.c
index 993c8332674..4c1b8059e8c 100644
--- a/sys/arch/vax/qbus/qd.c
+++ b/sys/arch/vax/qbus/qd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: qd.c,v 1.3 2002/03/14 01:26:48 millert Exp $ */
+/* $OpenBSD: qd.c,v 1.4 2002/06/08 08:50:26 art Exp $ */
/* $NetBSD: qd.c,v 1.17 2000/01/24 02:40:29 matt Exp $ */
/*-
@@ -1697,7 +1697,9 @@ panic("qd_strategy");
ubarelse(uh, &QBAreg);
#endif
if (!(dga->csr & DMA_ERR)) {
+ s = splbio();
biodone(bp);
+ splx(s);
return;
}
@@ -1718,7 +1720,9 @@ panic("qd_strategy");
DMA_SETIGNORE(DMAheader[unit]);
dga->csr |= DMA_IE;
}
+ s = splbio();
biodone(bp);
+ splx(s);
} /* qd_strategy */
diff --git a/sys/arch/vax/uba/ts.c b/sys/arch/vax/uba/ts.c
index 476ec7f3408..fe937d5a61a 100644
--- a/sys/arch/vax/uba/ts.c
+++ b/sys/arch/vax/uba/ts.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ts.c,v 1.9 2002/05/23 15:31:57 art Exp $ */
+/* $OpenBSD: ts.c,v 1.10 2002/06/08 08:50:26 art Exp $ */
/* $NetBSD: ts.c,v 1.11 1997/01/11 11:34:43 ragge Exp $ */
/*-
@@ -428,6 +428,7 @@ tsstart (sc, bp)
volatile int i, itmp;
int ioctl;
int cmd;
+ int s;
if ((dp = ts_wtab[ctlr]) != NULL) {
/*
@@ -439,7 +440,9 @@ tsstart (sc, bp)
/* bertram: ubarelse ??? */
ts_wtab[ctlr] = NULL;
dp->b_flags |= B_ERROR;
+ s = splbio();
biodone (dp);
+ splx(s);
if (tsreg->tssr & TS_SC) { /* Special Condition; Error */
log (TS_PRI, "%s: tssr 0x%x, state %d\n",
diff --git a/sys/arch/vax/vax/ctu.c b/sys/arch/vax/vax/ctu.c
index 1b558eed1f7..215730bd874 100644
--- a/sys/arch/vax/vax/ctu.c
+++ b/sys/arch/vax/vax/ctu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ctu.c,v 1.5 2002/03/14 01:26:48 millert Exp $ */
+/* $OpenBSD: ctu.c,v 1.6 2002/06/08 08:50:26 art Exp $ */
/* $NetBSD: ctu.c,v 1.10 2000/03/23 06:46:44 thorpej Exp $ */
/*
* Copyright (c) 1996 Ludd, University of Lule}, Sweden.
@@ -181,7 +181,9 @@ ctustrategy(bp)
#endif
if (bp->b_blkno >= 512) {
+ s = splbio();
biodone(bp);
+ splx(s);
return;
}
bp->b_rawblkno = bp->b_blkno;
diff --git a/sys/arch/vax/vsa/hdc9224.c b/sys/arch/vax/vsa/hdc9224.c
index 1fbbaf07a6c..c6b9eb9f6b0 100644
--- a/sys/arch/vax/vsa/hdc9224.c
+++ b/sys/arch/vax/vsa/hdc9224.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: hdc9224.c,v 1.8 2002/03/14 03:16:02 millert Exp $ */
+/* $OpenBSD: hdc9224.c,v 1.9 2002/06/08 08:50:26 art Exp $ */
/* $NetBSD: hdc9224.c,v 1.6 1997/03/15 16:32:22 ragge Exp $ */
/*
* Copyright (c) 1996 Ludd, University of Lule}, Sweden.
@@ -445,7 +445,9 @@ done:
* Correctly set the buf to indicate a completed xfer
*/
bp->b_resid = 0; /* ??? bertram */
+ s = splbio();
biodone(bp);
+ splx(s);
}
int