forked from Minki/linux
[SCSI] sd: Combine DIF/DIX error handling
DIF and DIX errors are handled identically at this point. Collapse the switch cases into one and let scsi_io_completion print result and sense data. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
d44a6d2bbf
commit
fa4698fcf5
@ -1196,19 +1196,10 @@ static int sd_done(struct scsi_cmnd *SCpnt)
|
||||
SCpnt->result = 0;
|
||||
memset(SCpnt->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
|
||||
break;
|
||||
case ABORTED_COMMAND:
|
||||
if (sshdr.asc == 0x10) { /* DIF: Disk detected corruption */
|
||||
scsi_print_result(SCpnt);
|
||||
scsi_print_sense("sd", SCpnt);
|
||||
case ABORTED_COMMAND: /* DIF: Target detected corruption */
|
||||
case ILLEGAL_REQUEST: /* DIX: Host detected corruption */
|
||||
if (sshdr.asc == 0x10)
|
||||
good_bytes = sd_completed_bytes(SCpnt);
|
||||
}
|
||||
break;
|
||||
case ILLEGAL_REQUEST:
|
||||
if (sshdr.asc == 0x10) { /* DIX: HBA detected corruption */
|
||||
scsi_print_result(SCpnt);
|
||||
scsi_print_sense("sd", SCpnt);
|
||||
good_bytes = sd_completed_bytes(SCpnt);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user