diff options
-rw-r--r-- | LUFA/Drivers/USB/Class/Device/HID.c | 5 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Endpoint.h | 2 | ||||
-rw-r--r-- | LUFA/ManPages/ChangeLog.txt | 1 |
3 files changed, 5 insertions, 3 deletions
diff --git a/LUFA/Drivers/USB/Class/Device/HID.c b/LUFA/Drivers/USB/Class/Device/HID.c index e38d35a5a..1953d9fbc 100644 --- a/LUFA/Drivers/USB/Class/Device/HID.c +++ b/LUFA/Drivers/USB/Class/Device/HID.c @@ -60,8 +60,9 @@ void HID_Device_ProcessControlRequest(USB_ClassInfo_HID_Device_t* const HIDInter if (HIDInterfaceInfo->Config.PrevReportINBuffer != NULL) memcpy(HIDInterfaceInfo->Config.PrevReportINBuffer, ReportData, HIDInterfaceInfo->Config.PrevReportINBufferSize); - Endpoint_ClearSETUP(); Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP); + + Endpoint_ClearSETUP(); Endpoint_Write_Control_Stream_LE(ReportData, ReportSize); Endpoint_ClearOUT(); } @@ -77,7 +78,7 @@ void HID_Device_ProcessControlRequest(USB_ClassInfo_HID_Device_t* const HIDInter Endpoint_ClearSETUP(); Endpoint_Read_Control_Stream_LE(ReportData, ReportSize); - Endpoint_ClearIN(); + Endpoint_ClearIN(); CALLBACK_HID_Device_ProcessHIDReport(HIDInterfaceInfo, ReportID, ReportType, ReportData, ReportSize); } diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.h b/LUFA/Drivers/USB/LowLevel/Endpoint.h index 2a8344b4c..d7dbc3e9a 100644 --- a/LUFA/Drivers/USB/LowLevel/Endpoint.h +++ b/LUFA/Drivers/USB/LowLevel/Endpoint.h @@ -451,7 +451,7 @@ static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE; static inline bool Endpoint_IsINReady(void) { - return ((UEINTX & (1 << TXINI)) ? true : false); + return ((UEINTX & (1 << TXINI)) ? true : false); } /** Determines if the selected OUT endpoint has received new packet. diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index a6d04ae12..24dd943fb 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -58,6 +58,7 @@ * - Fixed incorrect signature reported in the CDC class bootloader for the ATMEGA32U2 * - Fixed USB_Host_ClearPipeStall() incorrectly determining the endpoint direction from the currently selected pipe * - Fixed JTAG_DEBUG_POINT() and JTAG_DEBUG_BREAK() macros not compiling under pure C99 standards mode + * - Fixed endpoint selection within the CALLBACK_HID_Device_CreateHIDReport() callback function causing broken GET REPORT requests * * \section Sec_ChangeLog100807 Version 100807 * <b>New:</b> |