NetBSD/sys/dev/scsipi
mjacob 66ea6cc018 Fix for kern/3835: add an sd sense handler. If we get a check condition/sense
data ASC/ASCQ of 0x04/0x01 (logical unit not ready, initialization in progress),
hang out for 5 seconds and return a RETRY THE OPERATION command. If we
get a check condition/sense data ASC/ASCQ of 0x04/0x02 (logical unit not
ready, initialization command required), send a polled/nosleep START UNIT
command and return a RETRY THE OPERATION command if that succeeds.

Don't send a START UNIT to a disk quirked as SDEV_NO_START. Don't send
a START UNIT to removable media. The reason for the latter is to not
just blindly spin up new (maybe changed) media.

I should note that I've successfully made this work with the ISP host
adapter so far. Other host adapters will need some work to be able
to manage or reasonably fail NOSLEEP/POLL commands while in this
state. Alternatively, the internal SCSI midlayer structure has got
to allow for more controlled error recovery (e.g., restart queues
controlled by the target driver).
1998-07-15 20:21:12 +00:00
..
atapi_all.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
atapi_base.c part of fix for kern/3835: use of enumerated returns from target sense handlers 1998-07-15 20:13:30 +00:00
atapi_cd.h Those tabs sure are excitable!! 1998-07-13 16:50:56 +00:00
atapi_disk.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
atapiconf.c add support for an ATAPI attachment for 'sd'. 1998-01-15 02:21:27 +00:00
atapiconf.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
cd_atapi.c Add support for ATA CD changer devices like the NEC CDR-251. 1998-07-13 12:04:29 +00:00
cd_scsi.c Add support for ATA CD changer devices like the NEC CDR-251. 1998-07-13 12:04:29 +00:00
cd.c Add support for ATA CD changer devices like the NEC CDR-251. 1998-07-13 12:04:29 +00:00
cdvar.h Add support for ATA CD changer devices like the NEC CDR-251. 1998-07-13 12:04:29 +00:00
ch.c kern/5514: take the submitter's advice, at least partially. The time it 1998-07-03 19:11:25 +00:00
files.scsipi Split out the verbose printing of scsi messages, so that user programs 1998-03-28 21:57:08 +00:00
if_se.c defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
Makefile Rework the way kernel include files are installed. In the new method, 1998-06-12 23:22:30 +00:00
scsi_all.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
scsi_base.c part of fix for kern/3835: use of enumerated returns from target sense handlers 1998-07-15 20:13:30 +00:00
scsi_cd.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
scsi_changer.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
scsi_ctron_ether.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
scsi_disk.h Define the SYNCHRONIZE CACHE command. 1998-06-09 19:03:24 +00:00
scsi_message.h RCSID Police. 1998-01-05 07:31:05 +00:00
scsi_scanner.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
scsi_tape.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
scsi_verbose.c Clarify that Sense Key 1 is a "RECOVERED ERROR"- not just an error. 1998-07-11 00:52:09 +00:00
scsiconf.c Ricoh IS60 to the quirk table (SDEV_NOLUN). Fixes PR 5473 by 1998-06-22 13:19:09 +00:00
scsiconf.h Split out the verbose printing of scsi messages, so that user programs 1998-03-28 21:57:08 +00:00
scsipi_all.h Clarify that Sense Key 1 is a "RECOVERED ERROR"- not just an error. 1998-07-11 00:52:09 +00:00
scsipi_base.c Clear the scsipi_xfer's status byte before executing the command. This 1998-02-10 19:48:51 +00:00
scsipi_base.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
scsipi_cd.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
scsipi_debug.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
scsipi_disk.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
scsipi_ioctl.c * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID. 1998-07-05 08:49:30 +00:00
scsipi_verbose.c Clarify that Sense Key 1 is a "RECOVERED ERROR"- not just an error. 1998-07-11 00:52:09 +00:00
scsipiconf.c Clean up and comment the device types, and add the "enclosure services", 1997-10-03 02:04:17 +00:00
scsipiconf.h 1) Part of fix for kern/3835: add in enumerated return values for target 1998-07-15 20:11:34 +00:00
sd_atapi.c add support for an ATAPI attachment for 'sd'. 1998-01-15 02:21:27 +00:00
sd_scsi.c Add a shutdown hook for SCSI-2 and higher disks that issues a SYNCHRONIZE CACHE 1998-06-10 22:17:39 +00:00
sd.c Fix for kern/3835: add an sd sense handler. If we get a check condition/sense 1998-07-15 20:21:12 +00:00
sdvar.h Add a shutdown hook for SCSI-2 and higher disks that issues a SYNCHRONIZE CACHE 1998-06-10 22:17:39 +00:00
ss_mustek.c Implement two macros, scsipi_command() and scsipi_command_direct(), and 1997-10-18 19:50:51 +00:00
ss_mustek.h Backout previous change, and rather, remove all protection but the one 1998-02-13 08:28:16 +00:00
ss_scanjet.c Set a flag during auto-configuration, so SCSI_AUTOCONF can be passed 1998-04-22 19:44:18 +00:00
ss.c Set a flag during auto-configuration, so SCSI_AUTOCONF can be passed 1998-04-22 19:44:18 +00:00
ssvar.h Set a flag during auto-configuration, so SCSI_AUTOCONF can be passed 1998-04-22 19:44:18 +00:00
st.c part of fix for kern/3835: use of enumerated returns from target sense handlers 1998-07-15 20:13:30 +00:00
su.c Merge scsipi branch in the mainline. This add support for ATAPI devices 1997-08-27 11:22:52 +00:00
uk.c Adjust for changes to config. 1998-01-12 09:49:10 +00:00