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 = SImage_RecieveBlockHeader()) != PIPE_RWSTREAM_NoError)\r
{\r
ShowCommandError(ErrorCode, false);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if ((ErrorCode = SImage_RecieveBlockHeader()) != PIPE_RWSTREAM_NoError)\r
{\r
ShowCommandError(ErrorCode, false);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if ((PIMA_ReceivedBlock.Type != CType_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK))\r
{\r
ShowCommandError(PIMA_ReceivedBlock.Code, true);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if ((ErrorCode = SImage_RecieveBlockHeader()) != PIPE_RWSTREAM_NoError)\r
{\r
ShowCommandError(ErrorCode, false);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if ((PIMA_ReceivedBlock.Type != CType_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK))\r
{\r
ShowCommandError(PIMA_ReceivedBlock.Code, true);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if ((ErrorCode = SImage_RecieveBlockHeader()) != PIPE_RWSTREAM_NoError)\r
{\r
ShowCommandError(ErrorCode, false);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
if ((PIMA_ReceivedBlock.Type != CType_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK))\r
{\r
ShowCommandError(PIMA_ReceivedBlock.Code, true);\r
+ \r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
\r
/* Indicate error via status LEDs */\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
- \r
- /* Wait until USB device disconnected */\r
- while (USB_IsConnected);\r
}\r