|
@@ -4398,6 +4398,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_NON_EXISTENT_LUN:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ILLEGAL REQUEST */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ILLEGAL_REQUEST;
|
|
|
/* LOGICAL UNIT NOT SUPPORTED */
|
|
@@ -4407,6 +4408,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_SECTOR_COUNT_TOO_MANY:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ILLEGAL REQUEST */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ILLEGAL_REQUEST;
|
|
|
/* INVALID COMMAND OPERATION CODE */
|
|
@@ -4415,6 +4417,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_UNKNOWN_MODE_PAGE:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ILLEGAL REQUEST */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ILLEGAL_REQUEST;
|
|
|
/* INVALID FIELD IN CDB */
|
|
@@ -4423,6 +4426,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_CHECK_CONDITION_ABORT_CMD:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ABORTED COMMAND */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ABORTED_COMMAND;
|
|
|
/* BUS DEVICE RESET FUNCTION OCCURRED */
|
|
@@ -4432,6 +4436,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_INCORRECT_AMOUNT_OF_DATA:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ABORTED COMMAND */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ABORTED_COMMAND;
|
|
|
/* WRITE ERROR */
|
|
@@ -4442,6 +4447,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_INVALID_CDB_FIELD:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ABORTED COMMAND */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ABORTED_COMMAND;
|
|
|
/* INVALID FIELD IN CDB */
|
|
@@ -4450,6 +4456,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_INVALID_PARAMETER_LIST:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ABORTED COMMAND */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ABORTED_COMMAND;
|
|
|
/* INVALID FIELD IN PARAMETER LIST */
|
|
@@ -4458,6 +4465,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_UNEXPECTED_UNSOLICITED_DATA:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ABORTED COMMAND */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ABORTED_COMMAND;
|
|
|
/* WRITE ERROR */
|
|
@@ -4468,6 +4476,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_SERVICE_CRC_ERROR:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ABORTED COMMAND */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ABORTED_COMMAND;
|
|
|
/* PROTOCOL SERVICE CRC ERROR */
|
|
@@ -4478,6 +4487,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_SNACK_REJECTED:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ABORTED COMMAND */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ABORTED_COMMAND;
|
|
|
/* READ ERROR */
|
|
@@ -4488,6 +4498,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_WRITE_PROTECTED:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* DATA PROTECT */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = DATA_PROTECT;
|
|
|
/* WRITE PROTECTED */
|
|
@@ -4496,6 +4507,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_CHECK_CONDITION_UNIT_ATTENTION:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* UNIT ATTENTION */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = UNIT_ATTENTION;
|
|
|
core_scsi3_ua_for_check_condition(cmd, &asc, &ascq);
|
|
@@ -4505,6 +4517,7 @@ int transport_send_check_condition_and_sense(
|
|
|
case TCM_CHECK_CONDITION_NOT_READY:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* Not Ready */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = NOT_READY;
|
|
|
transport_get_sense_codes(cmd, &asc, &ascq);
|
|
@@ -4515,6 +4528,7 @@ int transport_send_check_condition_and_sense(
|
|
|
default:
|
|
|
/* CURRENT ERROR */
|
|
|
buffer[offset] = 0x70;
|
|
|
+ buffer[offset+SPC_ADD_SENSE_LEN_OFFSET] = 10;
|
|
|
/* ILLEGAL REQUEST */
|
|
|
buffer[offset+SPC_SENSE_KEY_OFFSET] = ILLEGAL_REQUEST;
|
|
|
/* LOGICAL UNIT COMMUNICATION FAILURE */
|