summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrw <krw@openbsd.org>2007-11-05 01:25:43 +0000
committerkrw <krw@openbsd.org>2007-11-05 01:25:43 +0000
commit148305895eb2b0de00151c2d1b3dafbe093ea421 (patch)
treebd02a68f583645782932775b32e0e20d98b4607c
parentwait for the marvell firmware to become ok. (diff)
downloadwireguard-openbsd-148305895eb2b0de00151c2d1b3dafbe093ea421.tar.xz
wireguard-openbsd-148305895eb2b0de00151c2d1b3dafbe093ea421.zip
scsi_done() must be called at SPLBIO.
-rw-r--r--sys/dev/pci/qli_pci.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/pci/qli_pci.c b/sys/dev/pci/qli_pci.c
index 32525ef09be..8d1cd934f46 100644
--- a/sys/dev/pci/qli_pci.c
+++ b/sys/dev/pci/qli_pci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: qli_pci.c,v 1.11 2007/10/08 04:15:15 krw Exp $ */
+/* $OpenBSD: qli_pci.c,v 1.12 2007/11/05 01:25:43 krw Exp $ */
/*
* Copyright (c) 2007 Marco Peereboom <marco@peereboom.us>
* Copyright (c) 2007 David Collins <dave@davec.name>
@@ -1001,6 +1001,7 @@ nofwcb:
int
qli_scsi_cmd(struct scsi_xfer *xs)
{
+ int s;
#ifdef QLI_DEBUG
struct scsi_link *link = xs->sc_link;
struct qli_softc *sc = link->adapter_softc;
@@ -1016,7 +1017,9 @@ qli_scsi_cmd(struct scsi_xfer *xs)
stuffup:
xs->error = XS_DRIVER_STUFFUP;
xs->flags |= ITSDONE;
+ s = splbio();
scsi_done(xs);
+ splx(s);
return (COMPLETE);
}