X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/6a10d6b465be27db090d760dc0fbe722c94e4344..11bb2f21720c2af4b29732ca128963869e5c512c:/LUFA/Drivers/USB/HighLevel/USBTask.c diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.c b/LUFA/Drivers/USB/HighLevel/USBTask.c index 69670232b..80731ac19 100644 --- a/LUFA/Drivers/USB/HighLevel/USBTask.c +++ b/LUFA/Drivers/USB/HighLevel/USBTask.c @@ -28,7 +28,7 @@ this software. */ -#include "../LowLevel/USBMode.h" +#include "USBMode.h" #define INCLUDE_FROM_USBTASK_C #include "USBTask.h" @@ -64,7 +64,7 @@ static void USB_DeviceTask(void) Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP); - if (Endpoint_IsSetupReceived()) + if (Endpoint_IsSETUPReceived()) { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { @@ -86,6 +86,10 @@ static void USB_HostTask(void) static uint16_t WaitMSRemaining; static uint8_t PostWaitState; + uint8_t PrevPipe = Pipe_GetCurrentPipe(); + + Pipe_SelectPipe(PIPE_CONTROLPIPE); + switch (USB_HostState) { case HOST_STATE_WaitForDevice: @@ -94,7 +98,7 @@ static void USB_HostTask(void) if ((SubErrorCode = USB_Host_WaitMS(1)) != HOST_WAITERROR_Successful) { USB_HostState = PostWaitState; - ErrorCode = HOST_ENUMERROR_WaitStage; + ErrorCode = HOST_ENUMERROR_WaitStage; break; } @@ -249,5 +253,7 @@ static void USB_HostTask(void) USB_ResetInterface(); } + + Pipe_SelectPipe(PrevPipe); } #endif