From: Dean Camera Date: Fri, 10 May 2013 19:48:42 +0000 (+0200) Subject: Fix Pipe_GetBoundEndpointAddress() returning bad values in some circumstances. X-Git-Tag: LUFA-130901-BETA~97 X-Git-Url: http://git.linex4red.de/pub/USBasp.git/commitdiff_plain/214d5b39fca5636742367f7e3539bb3856767566?ds=inline Fix Pipe_GetBoundEndpointAddress() returning bad values in some circumstances. --- diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt index c4b9af9a5..bf2a23695 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 5f2e46ddb..82664f5d8 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.