SCSITask.h describes the task status returned from ExecuteTaskSync()
* The Task Status represents the completion status of the task which
* SCSI Application Layer with additional information about how to procede in
* handling a completed task.
* The SCSI Architecture Model specification only defines task status
values for when
* a task completes with a service response of either TASK_COMPLETED
* Since additional information will aid in error recovery when a
task fails to be completed
* by a device due to a service response of
* additional values have been defined that can be returned by the
SCSI Protocol Layer to inform
* the SCSI Application Layer of the cause of the delivery failure.
One of these additional values is
kSCSITaskStatus_No_Status = 0xFF
which is described as
/* This status is not defined by the SCSI specifications,
* but is here to provide a status that can be returned in
* cases where there is not status available from the device
* or protocol, for example, when the service response is neither
* TASK_COMPLETED nor LINK_COMMAND_COMPLETE or when the service response is
* SERVICE_DELIVERY_OR_TARGET_FAILURE and the reason for failure could
not be determined.
How to proceed in the application layer if this "no" status is
returned from the protocol layer?
Is this a recoverable error?
Is it safe to call the SCSI task again, e.g. a write command?
Does this indicate a SCSI protocol error, a hardware failure, anything else?
How to prepare the application layer to avoid this status?
Any clarification is greatly appreciated. Thanks.
Do not post admin requests to the list. They will be ignored.
Ata-scsi-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden