[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:
Martin K. Petersen 2010-01-18 18:43:18 -05:00 committed by James Bottomley
parent d44a6d2bbf
commit fa4698fcf5

View file

@ -1196,19 +1196,10 @@ static int sd_done(struct scsi_cmnd *SCpnt)
SCpnt->result = 0; SCpnt->result = 0;
memset(SCpnt->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE); memset(SCpnt->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
break; break;
case ABORTED_COMMAND: case ABORTED_COMMAND: /* DIF: Target detected corruption */
if (sshdr.asc == 0x10) { /* DIF: Disk detected corruption */ case ILLEGAL_REQUEST: /* DIX: Host detected corruption */
scsi_print_result(SCpnt); if (sshdr.asc == 0x10)
scsi_print_sense("sd", SCpnt);
good_bytes = sd_completed_bytes(SCpnt); 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; break;
default: default:
break; break;