diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2014-07-01 02:31:17 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2014-07-01 02:31:17 +0000 |
commit | df4247f18ec34fcea680de51a03ddf2fa97655e0 (patch) | |
tree | b9e5c22f81ff83c0eb5523015eb660433065ff4a /sys/scsi | |
parent | 1d127edfd3b349b02b524e58d0c9a9b67414d183 (diff) |
take the biglock before calling the xs completion handler.
should be safe to call the midlayer io path without the biglock now.
Diffstat (limited to 'sys/scsi')
-rw-r--r-- | sys/scsi/scsi_base.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c index 9a5b6dce0d2..9cf6b450dd3 100644 --- a/sys/scsi/scsi_base.c +++ b/sys/scsi/scsi_base.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scsi_base.c,v 1.213 2014/07/01 02:11:46 dlg Exp $ */ +/* $OpenBSD: scsi_base.c,v 1.214 2014/07/01 02:31:16 dlg Exp $ */ /* $NetBSD: scsi_base.c,v 1.43 1997/04/02 02:29:36 mycroft Exp $ */ /* @@ -1303,7 +1303,9 @@ scsi_done(struct scsi_xfer *xs) #endif /* SCSIDEBUG */ SET(xs->flags, ITSDONE); + KERNEL_LOCK(); xs->done(xs); + KERNEL_UNLOCK(); } int |