|
@@ -1157,6 +1157,15 @@ int scsi_eh_get_sense(struct list_head *work_q,
|
|
__func__));
|
|
__func__));
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
|
|
+ if (status_byte(scmd->result) != CHECK_CONDITION)
|
|
|
|
+ /*
|
|
|
|
+ * don't request sense if there's no check condition
|
|
|
|
+ * status because the error we're processing isn't one
|
|
|
|
+ * that has a sense code (and some devices get
|
|
|
|
+ * confused by sense requests out of the blue)
|
|
|
|
+ */
|
|
|
|
+ continue;
|
|
|
|
+
|
|
SCSI_LOG_ERROR_RECOVERY(2, scmd_printk(KERN_INFO, scmd,
|
|
SCSI_LOG_ERROR_RECOVERY(2, scmd_printk(KERN_INFO, scmd,
|
|
"%s: requesting sense\n",
|
|
"%s: requesting sense\n",
|
|
current->comm));
|
|
current->comm));
|