Fix Pipe_GetBoundEndpointAddress() returning bad values in some circumstances.
[pub/USBasp.git] / LUFA / Drivers / USB / Core / AVR8 / Pipe_AVR8.h
index 5f2e46d..82664f5 100644 (file)
                        {
                                uint8_t UPCFG0X_Temp = UPCFG0X;
 
-                               return (((UPCFG0X_Temp >> PEPNUM0) & PIPE_EPNUM_MASK) | ((UPCFG0X_Temp & PEPNUM1) ? ENDPOINT_DIR_OUT : ENDPOINT_DIR_IN));
+                               return (((UPCFG0X_Temp >> PEPNUM0) & PIPE_EPNUM_MASK) |
+                                       ((UPCFG0X_Temp & PTOKEN1) ? ENDPOINT_DIR_IN : ENDPOINT_DIR_OUT));
                        }
 
                        /** Sets the period between interrupts for an INTERRUPT type pipe to a specified number of milliseconds.