diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2006-07-11 13:15:31 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2006-07-11 13:15:31 +0000 |
commit | 9e3378b8ac6fec14bd80280bd58beef0d7385154 (patch) | |
tree | 5883373cb894f97266da4f5907767947ca23a722 | |
parent | 26308e5c824d27e7d7aaf5544f33a605be06e9a5 (diff) |
scsi_get_xs raises splbio, but didnt lower it on error. tsk tsk.
ok krw@
-rw-r--r-- | sys/scsi/scsi_base.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c index 7f77286f8bd..520014c9821 100644 --- a/sys/scsi/scsi_base.c +++ b/sys/scsi/scsi_base.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scsi_base.c,v 1.105 2006/07/11 09:12:54 dlg Exp $ */ +/* $OpenBSD: scsi_base.c,v 1.106 2006/07/11 13:15:30 dlg Exp $ */ /* $NetBSD: scsi_base.c,v 1.43 1997/04/02 02:29:36 mycroft Exp $ */ /* @@ -119,6 +119,7 @@ scsi_get_xs(struct scsi_link *sc_link, int flags) if (tsleep(sc_link, PRIBIO|PCATCH, "getxs", 0)) { /* Bail out on getting a signal. */ sc_link->flags &= ~SDEV_WAITING; + splx(s); return (NULL); } } @@ -904,9 +905,10 @@ scsi_delay(struct scsi_xfer *xs, int seconds) } while (seconds-- > 0) { - if (tsleep(&lbolt, PRIBIO|PCATCH, "scbusy", 0)) + if (tsleep(&lbolt, PRIBIO|PCATCH, "scbusy", 0)) { /* Signal == abort xs. */ return (EIO); + } } return (ERESTART); |