diff options
author | gibbs <gibbs@FreeBSD.org> | 1997-04-04 19:37:20 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1997-04-04 19:37:20 +0000 |
commit | 9d6ffe345c05ee132a655118945899599fa3cf4d (patch) | |
tree | 4365d1317f6c6abe335dee299c3350545f598784 /sys/scsi/scsi_base.c | |
parent | f9324a16a5a267ee07459e7040c6e22608872ac4 (diff) | |
download | FreeBSD-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/scsi_base.c')
-rw-r--r-- | sys/scsi/scsi_base.c | 7 |
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); |