Deleted Host ClassDriver demos -- not yet started, faster to rebase new ClassDriver...
[pub/USBasp.git] / Demos / Host / LowLevel / MassStorageHost / Lib / MassStoreCommands.c
index 95aafca..afeace0 100644 (file)
@@ -107,10 +107,6 @@ static uint8_t MassStore_WaitForDataReceived(void)
 {\r
        uint16_t TimeoutMSRem = COMMAND_DATA_TIMEOUT_MS;\r
 \r
 {\r
        uint16_t TimeoutMSRem = COMMAND_DATA_TIMEOUT_MS;\r
 \r
-       /* Unfreeze the OUT pipe so that it can be checked */\r
-       Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);\r
-       Pipe_Unfreeze();\r
-\r
        /* Select the IN data pipe for data reception */\r
        Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);\r
        Pipe_Unfreeze();\r
        /* Select the IN data pipe for data reception */\r
        Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);\r
        Pipe_Unfreeze();\r
@@ -130,7 +126,9 @@ static uint8_t MassStore_WaitForDataReceived(void)
                          return PIPE_RWSTREAM_Timeout;\r
                }\r
        \r
                          return PIPE_RWSTREAM_Timeout;\r
                }\r
        \r
+               Pipe_Freeze();\r
                Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);\r
                Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);\r
+               Pipe_Unfreeze();\r
 \r
                /* Check if pipe stalled (command failed by device) */\r
                if (Pipe_IsStalled())\r
 \r
                /* Check if pipe stalled (command failed by device) */\r
                if (Pipe_IsStalled())\r
@@ -140,8 +138,10 @@ static uint8_t MassStore_WaitForDataReceived(void)
 \r
                        return PIPE_RWSTREAM_PipeStalled;\r
                }\r
 \r
                        return PIPE_RWSTREAM_PipeStalled;\r
                }\r
-\r
+               \r
+               Pipe_Freeze();\r
                Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);\r
                Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);\r
+               Pipe_Unfreeze();\r
 \r
                /* Check if pipe stalled (command failed by device) */\r
                if (Pipe_IsStalled())\r
 \r
                /* Check if pipe stalled (command failed by device) */\r
                if (Pipe_IsStalled())\r
@@ -156,6 +156,12 @@ static uint8_t MassStore_WaitForDataReceived(void)
                if (!(USB_IsConnected))\r
                  return PIPE_RWSTREAM_DeviceDisconnected;\r
        };\r
                if (!(USB_IsConnected))\r
                  return PIPE_RWSTREAM_DeviceDisconnected;\r
        };\r
+       \r
+       Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);\r
+       Pipe_Freeze();\r
+               \r
+       Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);\r
+       Pipe_Freeze();\r
 \r
        return PIPE_RWSTREAM_NoError;\r
 }\r
 \r
        return PIPE_RWSTREAM_NoError;\r
 }\r