diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt index c4b9af9a5f..bf2a23695f 100644 --- a/LUFA/DoxygenPages/ChangeLog.txt +++ b/LUFA/DoxygenPages/ChangeLog.txt @@ -25,6 +25,8 @@ * - Core: * - Fixed Low Speed USB devices broken when using the library HID Class driver (thanks to Michael) * - Fixed possible register corruption in USB Host mode on AVR8 devices when ORDERED_EP_CONFIG is used (thanks to Martin Aakerberg) + * - Fixed Pipe_GetBoundEndpointAddress() returning invalid endpoint directions on AVR8 architecture devices + * under some circumstances * - Library Applications: * - Added handler for SCSI_CMD_START_STOP_UNIT in demos using the Mass Storage class, to prevent ejection errors on *nix systems due to an * unknown SCSI command diff --git a/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h b/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h index 5f2e46ddb3..82664f5d80 100644 --- a/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h +++ b/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h @@ -322,7 +322,8 @@ { 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.