diff options
author | gibbs <gibbs@FreeBSD.org> | 1995-07-16 09:13:14 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1995-07-16 09:13:14 +0000 |
commit | 68ad3472c88200272c23a34252cc60e9407ac03b (patch) | |
tree | ff7414df0f0d80371ab4d0d9d750c79a413a8065 /sys/scsi | |
parent | 4df7e891894892783367b7eb2690a55e2d785ca0 (diff) | |
download | FreeBSD-src-68ad3472c88200272c23a34252cc60e9407ac03b.zip FreeBSD-src-68ad3472c88200272c23a34252cc60e9407ac03b.tar.gz |
Do not set SCSI_NOSLEEP on every tape command (the exception being during
probes). Apart from there being no reason to set SCSI_NOSLEEP on every
tape command, this prevents controller drivers from sleeping when resources
are fully utilized causing unecessary "Oops not queued" errors. This is
only noticed for controllers that can run out of resources like the
27/2842 adaptec controllers. Before this fix, it is almost impossible to
perform extended tape operations if more than one scsi disk is on the
bus with the tape drive with these controllers. This does not address a
similar problem that could occur if devices are probed while other targets
are active since SCSI_NOSLEEP will still be set in that case.
Diffstat (limited to 'sys/scsi')
-rw-r--r-- | sys/scsi/st.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/scsi/st.c b/sys/scsi/st.c index bef2995..7f56769 100644 --- a/sys/scsi/st.c +++ b/sys/scsi/st.c @@ -12,7 +12,7 @@ * on the understanding that TFS is not responsible for the correct * functioning of this software in any circumstances. * - * $Id: st.c,v 1.36 1995/05/30 08:13:54 rgrimes Exp $ + * $Id: st.c,v 1.37 1995/07/09 08:14:24 joerg Exp $ */ /* @@ -1102,7 +1102,7 @@ ststart(unit, flags) 0, /* can't retry a read on a tape really */ 100000, bp, - flags | SCSI_NOSLEEP) == SUCCESSFULLY_QUEUED) { + flags) == SUCCESSFULLY_QUEUED) { stqueues++; } else { badnews: |