Age | Commit message (Collapse) | Author |
|
base 16; suggested by Quentin Barnes <qbarnes@urbana.css.mot.com>, ok
by costa@.
|
|
that don't support it will only hang the system in boot-up for 50 seconds
as opposed to 500 seconds.
Return 0 from scsi_start if the device doesn't support START/STOP unit.
|
|
scsi drivers, other than dev/pci/ncr.c, but if req_sense_length is
not zero (either explicitly or through chance) the ncr driver will
fail during initialization. This fixes the occasionaly ncr driver
init problems; thorpej@netbsd.org
|
|
More SCSI logic from NetBSD-current
Some tape fixes. ATAPI tapes do not work yet for most operations.
|
|
|
|
|
|
the sense code evaluation function return ERESTART with xs->error = XS_BUSY;
then higher up catch this case and drop into the scbusy tsleep code.
For exabyte 8500 units, this makes st opening reprobe repeatedly, rather
than fail with an EIO while the tape is being loaded.
|
|
|
|
|
|
|
|
Old scsi error printing code is now gone.
|
|
|
|
|
|
|
|
|
|
default. Use "option SCSIVERBOSE=0" to turn off (only added 8Kb to my kernel).
From the NetBSD commit message:
Add in more detailed SCSI error printing, based off of final SCSI-2 spec.
This will also print out things like progress indicator errors, and will
also dump out additional sense bytes that haven't been decoded.
|
|
|
|
to:
* New changer driver.
* Better optical support.
* Different `done' semantics.
* New quirks for SCSI QIC tape driver, SCSI floppy drives.
* Better support for SCSI-I devices.
Everybody needs to test this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"command aborted" status)
Handle cases like the following:
- controller calls scsi_done() with error XS_TIMEOUT
- scsi_done() calls sddone()
- sddone() calls disk_unbusy()
- scsi_done() calls controller to retry command (missing the
call to disk_busy())
- controller calls scsi_done()
- scsi_done() calls sddone()
- sddone() calls disk_busy(), which panics because of the imbalance.
Bug noticed by Leo Weppleman, who also suggested this fix; pass an additional
boolean argument ("complete") to the device's "done" routine, with a
value of `0' passed from the previous call to "done", and add an additional
call to "done" when the xfer resources are freed.
|
|
This might be a transient error. Do complain about it, though.
|
|
|