diff options
-rw-r--r-- | drivers/target/target_core_transport.c | 10 | ||||
-rw-r--r-- | include/target/target_core_base.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index 357bb24afba2..14e54b48fb8c 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c | |||
@@ -1640,6 +1640,7 @@ void transport_generic_request_failure(struct se_cmd *cmd) | |||
1640 | case TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE: | 1640 | case TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE: |
1641 | case TCM_UNKNOWN_MODE_PAGE: | 1641 | case TCM_UNKNOWN_MODE_PAGE: |
1642 | case TCM_WRITE_PROTECTED: | 1642 | case TCM_WRITE_PROTECTED: |
1643 | case TCM_ADDRESS_OUT_OF_RANGE: | ||
1643 | case TCM_CHECK_CONDITION_ABORT_CMD: | 1644 | case TCM_CHECK_CONDITION_ABORT_CMD: |
1644 | case TCM_CHECK_CONDITION_UNIT_ATTENTION: | 1645 | case TCM_CHECK_CONDITION_UNIT_ATTENTION: |
1645 | case TCM_CHECK_CONDITION_NOT_READY: | 1646 | case TCM_CHECK_CONDITION_NOT_READY: |
@@ -2967,6 +2968,15 @@ int transport_send_check_condition_and_sense( | |||
2967 | /* WRITE PROTECTED */ | 2968 | /* WRITE PROTECTED */ |
2968 | buffer[offset+SPC_ASC_KEY_OFFSET] = 0x27; | 2969 | buffer[offset+SPC_ASC_KEY_OFFSET] = 0x27; |
2969 | break; | 2970 | break; |
2971 | case TCM_ADDRESS_OUT_OF_RANGE: | ||
2972 | /* CURRENT ERROR */ | ||
2973 | buffer[offset] = 0x70; | ||
2974 | buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10; | ||
2975 | /* ILLEGAL REQUEST */ | ||
2976 | buffer[offset+SPC_SENSE_KEY_OFFSET] = ILLEGAL_REQUEST; | ||
2977 | /* LOGICAL BLOCK ADDRESS OUT OF RANGE */ | ||
2978 | buffer[offset+SPC_ASC_KEY_OFFSET] = 0x21; | ||
2979 | break; | ||
2970 | case TCM_CHECK_CONDITION_UNIT_ATTENTION: | 2980 | case TCM_CHECK_CONDITION_UNIT_ATTENTION: |
2971 | /* CURRENT ERROR */ | 2981 | /* CURRENT ERROR */ |
2972 | buffer[offset] = 0x70; | 2982 | buffer[offset] = 0x70; |
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h index fa83ea13b1be..128ce46fa48a 100644 --- a/include/target/target_core_base.h +++ b/include/target/target_core_base.h | |||
@@ -212,6 +212,7 @@ enum tcm_sense_reason_table { | |||
212 | TCM_CHECK_CONDITION_UNIT_ATTENTION = 0x0e, | 212 | TCM_CHECK_CONDITION_UNIT_ATTENTION = 0x0e, |
213 | TCM_CHECK_CONDITION_NOT_READY = 0x0f, | 213 | TCM_CHECK_CONDITION_NOT_READY = 0x0f, |
214 | TCM_RESERVATION_CONFLICT = 0x10, | 214 | TCM_RESERVATION_CONFLICT = 0x10, |
215 | TCM_ADDRESS_OUT_OF_RANGE = 0x11, | ||
215 | }; | 216 | }; |
216 | 217 | ||
217 | enum target_sc_flags_table { | 218 | enum target_sc_flags_table { |