[SCSI] aacraid: add support for handling ATA pass-through commands.
There are two conditions for ATA pass thru command that falls into
'SRB_STATUS_ERROR' condition.
1. When the "CC" bit is set by the host in ATA pass-through CDB
   - Even for the successful completion, SCSI target shall generate
     check condition.
   - Driver returns a result code of SAM_STAT_CHECK_CONDITION, with a
     driver byte of DID_OK to the mid layer.
     Below is the snippet of existing code which fills a result code
     of SAM_STAT_CHECK_CONDITION:
	***********************************
	        if (le32_to_cpu(srbreply->scsi_status) == SAM_STAT_CHECK_CONDITION) {
                		int len;
	               		scsicmd->result |= SAM_STAT_CHECK_CONDITION;
			..........
	************************************
2. When the "CC" bit is reset by the host and if SCSI target generates
   a check condition when an error occurs.
   - Driver returns a result code of SAM_STAT_CHECK_CONDITION, with a
     driver byte of DID_ERROR to the mid layer.
Signed-off-by:  Mahesh Rajashekhara <aacraid@adaptec.com>
Signed-off-by:
Mahesh Rajashekhara <aacraid@adaptec.com>
Signed-off-by:  James Bottomley <James.Bottomley@suse.de>
James Bottomley <James.Bottomley@suse.de>
Loading
Please register or sign in to comment
