|
@@ -579,6 +579,7 @@ int scsi_check_sense(struct scsi_cmnd *scmd)
|
|
case ILLEGAL_REQUEST:
|
|
case ILLEGAL_REQUEST:
|
|
if (sshdr.asc == 0x20 || /* Invalid command operation code */
|
|
if (sshdr.asc == 0x20 || /* Invalid command operation code */
|
|
sshdr.asc == 0x21 || /* Logical block address out of range */
|
|
sshdr.asc == 0x21 || /* Logical block address out of range */
|
|
|
|
+ sshdr.asc == 0x22 || /* Invalid function */
|
|
sshdr.asc == 0x24 || /* Invalid field in cdb */
|
|
sshdr.asc == 0x24 || /* Invalid field in cdb */
|
|
sshdr.asc == 0x26) { /* Parameter value invalid */
|
|
sshdr.asc == 0x26) { /* Parameter value invalid */
|
|
set_host_byte(scmd, DID_TARGET_FAILURE);
|
|
set_host_byte(scmd, DID_TARGET_FAILURE);
|