X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/b6a4584a19e81c2e1f909355bbc64c2b8cea84f6..28f1ac81176bbcd9fd13d94e61323522a5279d27:/LUFA/Drivers/USB/LowLevel/Pipe.c diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.c b/LUFA/Drivers/USB/LowLevel/Pipe.c index 2b956a8da..8784bea0c 100644 --- a/LUFA/Drivers/USB/LowLevel/Pipe.c +++ b/LUFA/Drivers/USB/LowLevel/Pipe.c @@ -28,11 +28,12 @@ this software. */ +#define __INCLUDE_FROM_USB_DRIVER #include "../HighLevel/USBMode.h" #if defined(USB_CAN_BE_HOST) -#define INCLUDE_FROM_PIPE_C +#define __INCLUDE_FROM_PIPE_C #include "Pipe.h" uint8_t USB_ControlPipeSize = PIPE_CONTROLPIPE_DEFAULT_SIZE; @@ -79,14 +80,13 @@ bool Pipe_IsEndpointBound(const uint8_t EndpointAddress) Pipe_SelectPipe(PNum); uint8_t PipeToken = Pipe_GetPipeToken(); + bool PipeTokenCorrect = true; if (PipeToken != PIPE_TOKEN_SETUP) - PipeToken = (PipeToken == ((EndpointAddress & PIPE_EPDIR_MASK) ? PIPE_TOKEN_IN : PIPE_TOKEN_OUT)); + PipeTokenCorrect = (PipeToken == ((EndpointAddress & PIPE_EPDIR_MASK) ? PIPE_TOKEN_IN : PIPE_TOKEN_OUT)); - if (Pipe_IsConfigured() && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)) && PipeToken) - { - return true; - } + if (Pipe_IsConfigured() && PipeTokenCorrect && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK))) + return true; } Pipe_SelectPipe(PrevPipeNumber);