summaryrefslogtreecommitdiffstats
path: root/sys/scsi/scsi_base.c
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1995-04-23 22:07:56 +0000
committergibbs <gibbs@FreeBSD.org>1995-04-23 22:07:56 +0000
commit2606a8d910183093ce2b38a07c7e62fca277440f (patch)
treeb2523d83e386ecacb55827c732ebd228a642085f /sys/scsi/scsi_base.c
parent08c21a38d32c40274e29f86a6d1b61acc9bd9093 (diff)
downloadFreeBSD-src-2606a8d910183093ce2b38a07c7e62fca277440f.zip
FreeBSD-src-2606a8d910183093ce2b38a07c7e62fca277440f.tar.gz
Set SCSI_NOSLEEP only when we really need to. This requires an additional
flags parameter to all xxstart routines so that the correct information can be passed down into the device specific routines. This is needed to ensure that ccb/scb allocation routines don't hang. Submitted by: John Dyson
Diffstat (limited to 'sys/scsi/scsi_base.c')
-rw-r--r--sys/scsi/scsi_base.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c
index d3dba21..b1cf2cc 100644
--- a/sys/scsi/scsi_base.c
+++ b/sys/scsi/scsi_base.c
@@ -8,7 +8,7 @@
* file.
*
* Written by Julian Elischer (julian@dialix.oz.au)
- * $Id: scsi_base.c,v 1.25 1995/03/28 07:57:23 bde Exp $
+ * $Id: scsi_base.c,v 1.27 1995/04/14 15:10:31 dufault Exp $
*/
#define SPLSD splbio
@@ -106,7 +106,7 @@ free_xs(xs, sc_link, flags)
} else {
if (sc_link->device->start) {
SC_DEBUG(sc_link, SDEV_DB2, ("calling private start()\n"));
- (*(sc_link->device->start)) (sc_link->dev_unit);
+ (*(sc_link->device->start)) (sc_link->dev_unit, flags);
}
}
}
@@ -470,7 +470,6 @@ scsi_scsi_cmd(sc_link, scsi_cmd, cmdlen, data_addr, datalen,
}
}
- if (bp && !(flags & SCSI_USER)) flags |= SCSI_NOSLEEP;
SC_DEBUG(sc_link, SDEV_DB2, ("scsi_cmd\n"));
xs = get_xs(sc_link, flags);
OpenPOWER on IntegriCloud