|
@@ -580,7 +580,8 @@ int scsi_check_sense(struct scsi_cmnd *scmd)
|
|
|
if (sshdr.asc == 0x20 || /* Invalid command operation code */
|
|
|
sshdr.asc == 0x21 || /* Logical block address out of range */
|
|
|
sshdr.asc == 0x24 || /* Invalid field in cdb */
|
|
|
- sshdr.asc == 0x26) { /* Parameter value invalid */
|
|
|
+ sshdr.asc == 0x26 || /* Parameter value invalid */
|
|
|
+ sshdr.asc == 0x27) { /* Write protected */
|
|
|
set_host_byte(scmd, DID_TARGET_FAILURE);
|
|
|
}
|
|
|
return SUCCESS;
|