]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/ipr.c
V4L/DVB (4674): Use NULL instead of 0 for ptrs
[linux-2.6-omap-h63xx.git] / drivers / scsi / ipr.c
index 7f2c5cfc57bac1ad30f6587f4171e11b60ef4be1..7ed4eef8347b2f719d132407886549a0563bd318 100644 (file)
@@ -4127,8 +4127,7 @@ static int ipr_get_autosense(struct ipr_cmnd *ipr_cmd)
 {
        struct ipr_ioasa *ioasa = &ipr_cmd->ioasa;
 
-       if ((be32_to_cpu(ioasa->ioasc_specific) &
-            (IPR_ADDITIONAL_STATUS_FMT | IPR_AUTOSENSE_VALID)) == 0)
+       if ((be32_to_cpu(ioasa->ioasc_specific) & IPR_AUTOSENSE_VALID) == 0)
                return 0;
 
        memcpy(ipr_cmd->scsi_cmd->sense_buffer, ioasa->auto_sense.data,
@@ -4218,7 +4217,8 @@ static void ipr_erp_start(struct ipr_ioa_cfg *ioa_cfg,
        case IPR_IOASC_NR_INIT_CMD_REQUIRED:
                break;
        default:
-               scsi_cmd->result |= (DID_ERROR << 16);
+               if (IPR_IOASC_SENSE_KEY(ioasc) > RECOVERED_ERROR)
+                       scsi_cmd->result |= (DID_ERROR << 16);
                if (!ipr_is_vset_device(res) && !ipr_is_naca_model(res))
                        res->needs_sync_complete = 1;
                break;