From: Hannes Reinecke Date: Tue, 17 Oct 2017 07:10:56 +0000 (+0200) Subject: scsi: scsi_error: Do not retry illegal function error X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=a8bbb2ab4e4fac8ebd2a402d5d81500cbeaaebaf;p=openwrt%2Fstaging%2Fblogic.git scsi: scsi_error: Do not retry illegal function error Hitachi USP-V returns 'ILLEGAL FUNCTION' when the internal staging mechanism encountered an error. These errors should not be retried on another path. [mkp: s/invalid/illegal/] Signed-off-by: Hannes Reinecke Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index 38942050b265..5086489dac97 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c @@ -579,6 +579,7 @@ int scsi_check_sense(struct scsi_cmnd *scmd) case ILLEGAL_REQUEST: if (sshdr.asc == 0x20 || /* Invalid command operation code */ sshdr.asc == 0x21 || /* Logical block address out of range */ + sshdr.asc == 0x22 || /* Invalid function */ sshdr.asc == 0x24 || /* Invalid field in cdb */ sshdr.asc == 0x26) { /* Parameter value invalid */ set_host_byte(scmd, DID_TARGET_FAILURE);