summaryrefslogtreecommitdiffstats
path: root/sys/scsi
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1997-04-04 19:37:20 +0000
committergibbs <gibbs@FreeBSD.org>1997-04-04 19:37:20 +0000
commit9d6ffe345c05ee132a655118945899599fa3cf4d (patch)
tree4365d1317f6c6abe335dee299c3350545f598784 /sys/scsi
parentf9324a16a5a267ee07459e7040c6e22608872ac4 (diff)
downloadFreeBSD-src-9d6ffe345c05ee132a655118945899599fa3cf4d.zip
FreeBSD-src-9d6ffe345c05ee132a655118945899599fa3cf4d.tar.gz
Add a 1ms delay in the XS_BUSY case. This is the same error code returned
for the QUEUE FULL condition. This may help avoid wedging a device by immediately requeeuing the transaction in this case.
Diffstat (limited to 'sys/scsi')
-rw-r--r--sys/scsi/scsi_base.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c
index f6222e9..2564567 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.46 1997/03/23 06:33:46 bde Exp $
+ * $Id: scsi_base.c,v 1.47 1997/03/24 01:46:15 gibbs Exp $
*/
#include "opt_bounce.h"
@@ -25,9 +25,13 @@
#include <sys/uio.h>
#include <sys/malloc.h>
#include <sys/errno.h>
+
+#include <machine/clock.h>
+
#include <vm/vm.h>
#include <vm/vm_param.h>
#include <vm/pmap.h>
+
#include <scsi/scsi_all.h>
#include <scsi/scsi_disk.h>
#include <scsi/scsiconf.h>
@@ -755,6 +759,7 @@ sc_err1(xs)
* no, we could be at interrupt context.. use
* timeout(scsi_resubmit,xs,hz); [jre] (not implimenteed yet)
*/
+ DELAY(1000);
case XS_TIMEOUT:
return sc_done(xs, SCSIRET_DO_RETRY);
OpenPOWER on IntegriCloud