aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2013-03-09 10:59:53 +0000
committerDean Camera <dean@fourwalledcubicle.com>2013-03-09 10:59:53 +0000
commite62e50c66360669d5e64d61f615d9b4ee24ca59f (patch)
tree3d67ef77a708abf849136a684e304aa88f7b35af
parentd5d83b8e8f8238114426a0ca4476062cdc765ea1 (diff)
downloadlufa-e62e50c66360669d5e64d61f615d9b4ee24ca59f.tar.gz
lufa-e62e50c66360669d5e64d61f615d9b4ee24ca59f.tar.bz2
lufa-e62e50c66360669d5e64d61f615d9b4ee24ca59f.zip
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.
-rw-r--r--Bootloaders/Incomplete/MassStorage/Lib/SCSI.c1
-rw-r--r--Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c1
-rw-r--r--Demos/Device/ClassDriver/MassStorageKeyboard/Lib/SCSI.c1
-rw-r--r--Demos/Device/ClassDriver/VirtualSerialMassStorage/Lib/SCSI.c1
-rw-r--r--Demos/Device/LowLevel/MassStorage/Lib/SCSI.c1
-rw-r--r--LUFA/DoxygenPages/ChangeLog.txt10
-rw-r--r--LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h3
-rw-r--r--Projects/TempDataLogger/Lib/SCSI.c1
-rw-r--r--Projects/Webserver/Lib/SCSI.c1
9 files changed, 20 insertions, 0 deletions
diff --git a/Bootloaders/Incomplete/MassStorage/Lib/SCSI.c b/Bootloaders/Incomplete/MassStorage/Lib/SCSI.c
index 7ab149ccd..a79a4688a 100644
--- a/Bootloaders/Incomplete/MassStorage/Lib/SCSI.c
+++ b/Bootloaders/Incomplete/MassStorage/Lib/SCSI.c
@@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break;
+ case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10:
diff --git a/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c b/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c
index 078f6fe0c..b01366d19 100644
--- a/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c
+++ b/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c
@@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break;
+ case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10:
diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/SCSI.c b/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/SCSI.c
index 078f6fe0c..b01366d19 100644
--- a/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/SCSI.c
+++ b/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/SCSI.c
@@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break;
+ case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10:
diff --git a/Demos/Device/ClassDriver/VirtualSerialMassStorage/Lib/SCSI.c b/Demos/Device/ClassDriver/VirtualSerialMassStorage/Lib/SCSI.c
index 078f6fe0c..b01366d19 100644
--- a/Demos/Device/ClassDriver/VirtualSerialMassStorage/Lib/SCSI.c
+++ b/Demos/Device/ClassDriver/VirtualSerialMassStorage/Lib/SCSI.c
@@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break;
+ case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10:
diff --git a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c
index 01f378b26..f9e61a5fa 100644
--- a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c
+++ b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c
@@ -114,6 +114,7 @@ bool SCSI_DecodeSCSICommand(void)
case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6();
break;
+ case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10:
diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index 1f84a3f5e..1b22e1b43 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -10,6 +10,16 @@
* <b>New:</b>
* - Library Applications:
* - 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
* <b>New:</b>
diff --git a/LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h b/LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h
index 9008b3309..10feb567a 100644
--- a/LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h
+++ b/LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h
@@ -90,6 +90,9 @@
/** SCSI Command Code for a READ CAPACITY (10) command. */
#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. */
#define SCSI_CMD_SEND_DIAGNOSTIC 0x1D
diff --git a/Projects/TempDataLogger/Lib/SCSI.c b/Projects/TempDataLogger/Lib/SCSI.c
index 7e4193b5a..c2d0d6f11 100644
--- a/Projects/TempDataLogger/Lib/SCSI.c
+++ b/Projects/TempDataLogger/Lib/SCSI.c
@@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break;
+ case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10:
diff --git a/Projects/Webserver/Lib/SCSI.c b/Projects/Webserver/Lib/SCSI.c
index 7e4193b5a..c2d0d6f11 100644
--- a/Projects/Webserver/Lib/SCSI.c
+++ b/Projects/Webserver/Lib/SCSI.c
@@ -116,6 +116,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break;
+ case SCSI_CMD_START_STOP_UNIT:
case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10: