Age | Commit message (Collapse) | Author |
|
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.
|
|
|