diff --git a/examples/device/nrf52840/src/msc_device_app.c b/examples/device/nrf52840/src/msc_device_app.c index 1dfce5e1..75d33d72 100644 --- a/examples/device/nrf52840/src/msc_device_app.c +++ b/examples/device/nrf52840/src/msc_device_app.c @@ -49,8 +49,10 @@ scsi_sense_fixed_data_t mscd_sense_data = { .response_code = 0x70, + .valid = 1, + .sense_key = 0, // no errors - .additional_sense_len = sizeof(scsi_sense_fixed_data_t) - 8 + .add_sense_len = sizeof(scsi_sense_fixed_data_t) - 8 }; static scsi_mode_parameters_t const msc_dev_mode_para = @@ -106,11 +108,11 @@ int32_t tud_msc_scsi_cb (uint8_t lun, uint8_t const scsi_cmd[16], void* buffer, len = 0; break; - case SCSI_CMD_START_STOP_UNIT: - // Host try to eject/safe remove/powerof us. We could safely disconnect with disk storage, or go into lower power - // scsi_start_stop_unit_t const * cmd_start_stop = (scsi_start_stop_unit_t const *) scsi_cmd - len = 0; - break; +// case SCSI_CMD_START_STOP_UNIT: +// // Host try to eject/safe remove/powerof us. We could safely disconnect with disk storage, or go into lower power +// // scsi_start_stop_unit_t const * cmd_start_stop = (scsi_start_stop_unit_t const *) scsi_cmd +// len = 0; +// break; default: // negative is error -> Data stage is STALL, status = failed @@ -135,8 +137,8 @@ int32_t tud_msc_scsi_cb (uint8_t lun, uint8_t const scsi_cmd[16], void* buffer, if ( SCSI_CMD_REQUEST_SENSE != scsi_cmd[0] ) { mscd_sense_data.sense_key = SCSI_SENSEKEY_NONE; - mscd_sense_data.additional_sense_code = 0; - mscd_sense_data.additional_sense_qualifier = 0; + mscd_sense_data.add_sense_code = 0; + mscd_sense_data.add_sense_qualifier = 0; } return len; diff --git a/examples/obsolete/device/src/msc_device_app.c b/examples/obsolete/device/src/msc_device_app.c index 572c90ef..0831d444 100644 --- a/examples/obsolete/device/src/msc_device_app.c +++ b/examples/obsolete/device/src/msc_device_app.c @@ -67,7 +67,7 @@ static scsi_sense_fixed_data_t mscd_sense_data = { .response_code = 0x70, .sense_key = 0, // no errors - .additional_sense_len = sizeof(scsi_sense_fixed_data_t) - 8 + .add_sense_len = sizeof(scsi_sense_fixed_data_t) - 8 }; static scsi_read_format_capacity_data_t const mscd_format_capacity_data = @@ -169,8 +169,8 @@ int32_t tud_msc_scsi_cb (uint8_t lun, uint8_t const scsi_cmd[16], void* buffer, if ( SCSI_CMD_REQUEST_SENSE != scsi_cmd[0] ) { mscd_sense_data.sense_key = SCSI_SENSEKEY_NONE; - mscd_sense_data.additional_sense_code = 0; - mscd_sense_data.additional_sense_qualifier = 0; + mscd_sense_data.add_sense_code = 0; + mscd_sense_data.add_sense_qualifier = 0; } return len; diff --git a/src/class/msc/msc.h b/src/class/msc/msc.h index 333bb4d2..290ee255 100644 --- a/src/class/msc/msc.h +++ b/src/class/msc/msc.h @@ -237,25 +237,25 @@ VERIFY_STATIC(sizeof(scsi_inquiry_data_t) == 36, "size is not correct"); typedef struct ATTR_PACKED { - uint8_t response_code : 7; ///< 70h - current errors, Fixed Format 71h - deferred errors, Fixed Format - uint8_t valid : 1; + uint8_t response_code : 7; ///< 70h - current errors, Fixed Format 71h - deferred errors, Fixed Format + uint8_t valid : 1; - uint8_t reserved; ///< Obsolete + uint8_t TU_RESERVED; - uint8_t sense_key : 4; - uint8_t : 1; - uint8_t incorrect_len_idicatior : 1; - uint8_t end_of_medium : 1; - uint8_t filemark : 1; + uint8_t sense_key : 4; + uint8_t : 1; + uint8_t ili : 1; ///< Incorrect length indicator + uint8_t end_of_medium : 1; + uint8_t filemark : 1; uint32_t information; - uint8_t additional_sense_len; + uint8_t add_sense_len; uint32_t command_specific_info; - uint8_t additional_sense_code; - uint8_t additional_sense_qualifier; - uint8_t field_replaceable_unit_code; + uint8_t add_sense_code; + uint8_t add_sense_qualifier; + uint8_t field_replaceable_unit_code; - uint8_t sense_key_specific[3]; ///< sense key specific valid bit is bit 7 of key[0], aka MSB in Big Endian layout + uint8_t sense_key_specific[3]; ///< sense key specific valid bit is bit 7 of key[0], aka MSB in Big Endian layout } scsi_sense_fixed_data_t;