sd: Combine DIF/DIX error handling
PATCH 1/1 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 <[email protected]>
---
drivers/scsi/sd.c +3 -12
@@ -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 ;