Software PDI mode breaks unless the software USART has 100 cycles between bits.
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / Pipe.c
index 78c82e8..8784bea 100644 (file)
@@ -80,14 +80,13 @@ bool Pipe_IsEndpointBound(const uint8_t EndpointAddress)
                Pipe_SelectPipe(PNum);\r
                \r
                uint8_t PipeToken = Pipe_GetPipeToken();\r
+               bool    PipeTokenCorrect = true;\r
 \r
                if (PipeToken != PIPE_TOKEN_SETUP)\r
-                 PipeToken = (PipeToken == ((EndpointAddress & PIPE_EPDIR_MASK) ? PIPE_TOKEN_IN : PIPE_TOKEN_OUT));\r
+                 PipeTokenCorrect = (PipeToken == ((EndpointAddress & PIPE_EPDIR_MASK) ? PIPE_TOKEN_IN : PIPE_TOKEN_OUT));\r
                \r
-               if (Pipe_IsConfigured() && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)) && PipeToken)\r
-               {               \r
-                       return true;\r
-               }\r
+               if (Pipe_IsConfigured() && PipeTokenCorrect && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)))\r
+                 return true;\r
        }\r
        \r
        Pipe_SelectPipe(PrevPipeNumber);\r