summaryrefslogtreecommitdiff
path: root/sys/arch/hp300/dev
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2002-05-30 11:03:53 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2002-05-30 11:03:53 +0000
commit44e84fa8e11719f94458e3ff1ce6d93fec7ad8b7 (patch)
treee144d78e0788c3c633a5f5b943e11c3c8ec202ba /sys/arch/hp300/dev
parent27fd3e6a6743421739e5ab920b0d40cb00062180 (diff)
protect biodone with splbio.
miod@ ok.
Diffstat (limited to 'sys/arch/hp300/dev')
-rw-r--r--sys/arch/hp300/dev/ac.c9
-rw-r--r--sys/arch/hp300/dev/hd.c4
-rw-r--r--sys/arch/hp300/dev/mt.c4
-rw-r--r--sys/arch/hp300/dev/sd.c4
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