LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
\r
/* Wait until USB device disconnected */\r
- while (USB_IsConnected);\r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
\r
/* Wait until USB device disconnected */\r
- while (USB_IsConnected);\r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if ((ErrorCode = MassStore_GetMaxLUN(&MassStore_MaxLUNIndex)) != HOST_SENDCONTROL_Successful)\r
{ \r
ShowDiskReadError(PSTR("Get Max LUN"), false, ErrorCode);\r
+\r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if ((ErrorCode = MassStore_MassStorageReset()) != HOST_SENDCONTROL_Successful)\r
{\r
ShowDiskReadError(PSTR("Mass Storage Reset"), false, ErrorCode);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if (((ErrorCode = MassStore_PreventAllowMediumRemoval(0, true)) != 0) || (SCSICommandStatus.Status != Command_Pass))\r
{\r
ShowDiskReadError(PSTR("Prevent/Allow Medium Removal"), (SCSICommandStatus.Status != Command_Pass), ErrorCode);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if (((ErrorCode = MassStore_Inquiry(0, &InquiryData)) != 0) || (SCSICommandStatus.Status != Command_Pass))\r
{\r
ShowDiskReadError(PSTR("Inquiry"), (SCSICommandStatus.Status != Command_Pass), ErrorCode);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if ((ErrorCode = MassStore_TestUnitReady(0)) != 0)\r
{\r
ShowDiskReadError(PSTR("Test Unit Ready"), false, ErrorCode);\r
- break; \r
+\r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
+ break;\r
}\r
}\r
while ((SCSICommandStatus.Status != Command_Pass) && USB_IsConnected);\r
if (((ErrorCode = MassStore_ReadCapacity(0, &DiskCapacity)) != 0) || (SCSICommandStatus.Status != Command_Pass))\r
{\r
ShowDiskReadError(PSTR("Read Capacity"), (SCSICommandStatus.Status != Command_Pass), ErrorCode);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
(SCSICommandStatus.Status != Command_Pass))\r
{\r
ShowDiskReadError(PSTR("Read Device Block"), (SCSICommandStatus.Status != Command_Pass), ErrorCode);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
(SCSICommandStatus.Status != Command_Pass))\r
{\r
ShowDiskReadError(PSTR("Read Device Block"), (SCSICommandStatus.Status != Command_Pass), ErrorCode);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
\r
/* Wait until USB device disconnected */\r
- while (USB_IsConnected);\r
- \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
}\r
\r
/* Indicate device error via the status LEDs */\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
-\r
- /* Wait until USB device disconnected */\r
- while (USB_IsConnected);\r
}\r