Added new USB_DeviceState variable to keep track of the current Device mode USB state.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / MassStorage.c
index f7f3fd9..9f8688c 100644 (file)
@@ -53,8 +53,7 @@ void MS_Device_ProcessControlPacket(USB_ClassInfo_MS_Device_t* const MSInterface
 \r
                                MSInterfaceInfo->State.IsMassStoreReset = true;                 \r
 \r
-                               while (!(Endpoint_IsINReady()));\r
-                               Endpoint_ClearIN();\r
+                               Endpoint_ClearStatusStage();\r
                        }\r
 \r
                        break;\r
@@ -63,12 +62,10 @@ void MS_Device_ProcessControlPacket(USB_ClassInfo_MS_Device_t* const MSInterface
                        {\r
                                Endpoint_ClearSETUP();\r
 \r
-                               Endpoint_Write_Byte(MSInterfaceInfo->Config.TotalLUNs - 1);\r
-                               \r
+                               Endpoint_Write_Byte(MSInterfaceInfo->Config.TotalLUNs - 1);                             \r
                                Endpoint_ClearIN();\r
                                \r
-                               while (!(Endpoint_IsOUTReceived()));\r
-                               Endpoint_ClearOUT();\r
+                               Endpoint_ClearStatusStage();\r
                        }\r
                        \r
                        break;\r
@@ -96,7 +93,7 @@ bool MS_Device_ConfigureEndpoints(USB_ClassInfo_MS_Device_t* const MSInterfaceIn
 \r
 void MS_Device_USBTask(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)\r
 {\r
-       if (!(USB_IsConnected) || !(USB_ConfigurationNumber))\r
+       if (USB_DeviceState != DEVICE_STATE_Configured)\r
          return;\r
 \r
        Endpoint_SelectEndpoint(MSInterfaceInfo->Config.DataOUTEndpointNumber);\r