diff options
author | gibbs <gibbs@FreeBSD.org> | 1996-03-31 03:19:09 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1996-03-31 03:19:09 +0000 |
commit | c6c3051dbc6e90b53a7d4fe587d8e3d20ebf96cf (patch) | |
tree | 080d4d3dbc42bf99fbf6583fffa4a17c7d4b82ea /sys | |
parent | b6df07d91897b08f7fc7eb5788a06e03a3ffd5ee (diff) | |
download | FreeBSD-src-c6c3051dbc6e90b53a7d4fe587d8e3d20ebf96cf.zip FreeBSD-src-c6c3051dbc6e90b53a7d4fe587d8e3d20ebf96cf.tar.gz |
Implement the XS_SELTIMEOUT error code. This causes the SCSI code to
not retry again and should be used when a device times out during selection
(ie is not on the bus). This should speed up the boot sequence.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/scsi/scsi_base.c | 3 | ||||
-rw-r--r-- | sys/scsi/scsiconf.h | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c index f6a150e..af6c1ff 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.35 1996/01/05 20:12:45 wollman Exp $ + * $Id: scsi_base.c,v 1.36 1996/03/10 07:13:07 gibbs Exp $ */ #include "opt_bounce.h" @@ -755,6 +755,7 @@ sc_err1(xs) return sc_done(xs, SCSIRET_DO_RETRY); /* fall through */ + case XS_SELTIMEOUT: case XS_DRIVER_STUFFUP: return sc_done(xs, EIO); diff --git a/sys/scsi/scsiconf.h b/sys/scsi/scsiconf.h index 1c607da..d09f3a7 100644 --- a/sys/scsi/scsiconf.h +++ b/sys/scsi/scsiconf.h @@ -14,7 +14,7 @@ * * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 * - * $Id: scsiconf.h,v 1.39 1996/02/03 13:31:12 joerg Exp $ + * $Id: scsiconf.h,v 1.40 1996/03/10 07:13:11 gibbs Exp $ */ #ifndef SCSI_SCSICONF_H #define SCSI_SCSICONF_H 1 @@ -413,7 +413,8 @@ struct scsi_xfer #define XS_TIMEOUT 0x03 /* The device timed out.. turned off? */ #define XS_SWTIMEOUT 0x04 /* The Timeout reported was caught by SW */ #define XS_BUSY 0x08 /* The device busy, try again later? */ -#define XS_LENGTH 0x09 /* Illegal length (over/under run) */ +#define XS_LENGTH 0x09 /* Illegal length (over/under run) */ +#define XS_SELTIMEOUT 0x10 /* Device failed to respond to selection */ #ifdef KERNEL void *extend_get(struct extend_array *ea, int index); |