aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/target/target_core_transport.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 3243ea790eab..493e9e589059 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -2765,8 +2765,13 @@ transport_send_check_condition_and_sense(struct se_cmd *cmd,
2765 /* CURRENT ERROR */ 2765 /* CURRENT ERROR */
2766 buffer[0] = 0x70; 2766 buffer[0] = 0x70;
2767 buffer[SPC_ADD_SENSE_LEN_OFFSET] = 10; 2767 buffer[SPC_ADD_SENSE_LEN_OFFSET] = 10;
2768 /* ILLEGAL REQUEST */ 2768 /*
2769 buffer[SPC_SENSE_KEY_OFFSET] = ILLEGAL_REQUEST; 2769 * Returning ILLEGAL REQUEST would cause immediate IO errors on
2770 * Solaris initiators. Returning NOT READY instead means the
2771 * operations will be retried a finite number of times and we
2772 * can survive intermittent errors.
2773 */
2774 buffer[SPC_SENSE_KEY_OFFSET] = NOT_READY;
2770 /* LOGICAL UNIT COMMUNICATION FAILURE */ 2775 /* LOGICAL UNIT COMMUNICATION FAILURE */
2771 buffer[SPC_ASC_KEY_OFFSET] = 0x08; 2776 buffer[SPC_ASC_KEY_OFFSET] = 0x08;
2772 break; 2777 break;