summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1996-03-31 03:19:09 +0000
committergibbs <gibbs@FreeBSD.org>1996-03-31 03:19:09 +0000
commitc6c3051dbc6e90b53a7d4fe587d8e3d20ebf96cf (patch)
tree080d4d3dbc42bf99fbf6583fffa4a17c7d4b82ea /sys
parentb6df07d91897b08f7fc7eb5788a06e03a3ffd5ee (diff)
downloadFreeBSD-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.c3
-rw-r--r--sys/scsi/scsiconf.h5
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);
OpenPOWER on IntegriCloud