summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth R Westerback <krw@cvs.openbsd.org>2007-11-05 17:42:27 +0000
committerKenneth R Westerback <krw@cvs.openbsd.org>2007-11-05 17:42:27 +0000
commit2b549d1d6a814f61e86d8bd72597b1d64e04ff90 (patch)
treea835989e5259cf313cc90ee0ea672ab1872e42aa
parentd30f046402976b10fbf530523d1a3573107faf5f (diff)
More scsi_done() at SPLBIO.
-rw-r--r--sys/dev/isa/seagate.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/isa/seagate.c b/sys/dev/isa/seagate.c
index a81066e098f..2e9f6ab5822 100644
--- a/sys/dev/isa/seagate.c
+++ b/sys/dev/isa/seagate.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: seagate.c,v 1.22 2007/10/01 15:34:48 krw Exp $ */
+/* $OpenBSD: seagate.c,v 1.23 2007/11/05 17:42:26 krw Exp $ */
/*
* ST01/02, Future Domain TMC-885, TMC-950 SCSI driver
@@ -1152,6 +1152,7 @@ void
sea_done(struct sea_softc *sea, struct sea_scb *scb)
{
struct scsi_xfer *xs = scb->xs;
+ int s;
timeout_del(&scb->xs->stimeout);
@@ -1168,7 +1169,9 @@ sea_done(struct sea_softc *sea, struct sea_scb *scb)
}
xs->flags |= ITSDONE;
sea_free_scb(sea, scb, xs->flags);
+ s = splbio();
scsi_done(xs);
+ splx(s);
}
/*