Add dummy handler for SCSI_CMD_START_STOP_UNIT in all project SCSI handling routines, to prevent ejection errors on *nix systems due to an unknown SCSI command.

pull/1469/head
Dean Camera 12 years ago
parent d5d83b8e8f
commit e62e50c663

@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6: case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo); CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break; break;
case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY: case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL: case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10: case SCSI_CMD_VERIFY_10:

@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6: case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo); CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break; break;
case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY: case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL: case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10: case SCSI_CMD_VERIFY_10:

@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6: case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo); CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break; break;
case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY: case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL: case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10: case SCSI_CMD_VERIFY_10:

@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6: case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo); CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break; break;
case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY: case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL: case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10: case SCSI_CMD_VERIFY_10:

@ -114,6 +114,7 @@ bool SCSI_DecodeSCSICommand(void)
case SCSI_CMD_MODE_SENSE_6: case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(); CommandSuccess = SCSI_Command_ModeSense_6();
break; break;
case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY: case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL: case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10: case SCSI_CMD_VERIFY_10:

@ -10,6 +10,16 @@
* <b>New:</b> * <b>New:</b>
* - Library Applications: * - Library Applications:
* - Added new Printer class bootloader * - Added new Printer class bootloader
* - Added new Mass Storage class bootloader
*
* <b>Changed:</b>
* - Core:
* - Updated the BUILD build system module to produce binary BIN files in addition to Intel HEX files
*
* <b>Fixed:</b>
* - Library Applications:
* - Added handler for SCSI_CMD_START_STOP_UNIT in demos using the Mass Storage class, to prevent ejection errors on *nix systems due to an
* unknown SCSI command
* *
* \section Sec_ChangeLog130303 Version 130303 * \section Sec_ChangeLog130303 Version 130303
* <b>New:</b> * <b>New:</b>

@ -90,6 +90,9 @@
/** SCSI Command Code for a READ CAPACITY (10) command. */ /** SCSI Command Code for a READ CAPACITY (10) command. */
#define SCSI_CMD_READ_CAPACITY_10 0x25 #define SCSI_CMD_READ_CAPACITY_10 0x25
/** SCSI Command Code for a START STOP UNIT command. */
#define SCSI_CMD_START_STOP_UNIT 0x1B
/** SCSI Command Code for a SEND DIAGNOSTIC command. */ /** SCSI Command Code for a SEND DIAGNOSTIC command. */
#define SCSI_CMD_SEND_DIAGNOSTIC 0x1D #define SCSI_CMD_SEND_DIAGNOSTIC 0x1D

@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6: case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo); CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break; break;
case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY: case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL: case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10: case SCSI_CMD_VERIFY_10:

@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6: case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo); CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break; break;
case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY: case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL: case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10: case SCSI_CMD_VERIFY_10:

Loading…
Cancel
Save