X3T9.2/91-211 SCSI-2 CAM Change Proposal Title: Discussion of SIM handling of CAM Command Timeouts Author: Al Youngwerth, Extended Systems Date: January 8, 1992 References 1. X3T9.2-90-186, SCSI-2 Common Access Method - Transport and SCSI Interface Module, rev 2.4, I. Dal Allan (Ed.) Discussion CAM rev 2.4, does not specify how the SIM handles a CCB SCSI IO command that has timed-out. For example, when a command times-out, the SIM implementor can choose whether or not to attempt an abort of the command before it returns the CCB with a status of Command Timeout. The Peripheral Driver needs to know how the SIM handles a command timeout in order to take proper action. Change Proposal Insert the following section as 6.6, resequence the current sections 6.6 through 6.8 as 6.7 through 6.9. 6.6 SIM Handling CCB SCSI IO Command Timeouts In the event of a CCB SCSI IO Command Timeout, the SIM shall: a) Place its internal queue for the LUN into the frozen state. b) Without freeing its internal resources for the command, the SIM will notify the Peripheral Driver of the time-out by setting the CCB's CAM status to Command Timeout and performing the callback (if enabled). At this point, the timed-out CCB is still active within the SIM and its resources must not be freed until the Peripheral Driver is able to recognize that the timed-out CCB's CAM status has changed from Command Timeout to some other status. The Peripheral Driver must be able to recognize a change in the timed-out CCB's CAM status and if enabled, another callback for it. It is the Peripheral Driver's responsibility to take corrective action for the timed-out CCB. It is recommended that the Peripheral Driver attempt to abort the command. If the abort command does not create a change in the timed-out CCB's CAM status in a reasonable amount of time, a Bus Device Reset or SCSI Bus Reset command may need to be issued to force the timed-out CCB's CAM status to change.