diff --git a/LUFA/Drivers/USB/Class/Device/HID.c b/LUFA/Drivers/USB/Class/Device/HID.c index 0cbd50afcc..b44d4db63c 100644 --- a/LUFA/Drivers/USB/Class/Device/HID.c +++ b/LUFA/Drivers/USB/Class/Device/HID.c @@ -168,12 +168,12 @@ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo) HIDInterfaceInfo->State.IdleMSRemaining = HIDInterfaceInfo->State.IdleCount; if (ReportID) - Endpoint_Write_Stream_LE(&ReportID, sizeof(ReportID), NO_STREAM_CALLBACK); + Endpoint_Write_Byte(ReportID); Endpoint_Write_Stream_LE(ReportINData, ReportINSize, NO_STREAM_CALLBACK); + + Endpoint_ClearIN(); } - - Endpoint_ClearIN(); } } diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index 61485a0dd4..42b78ef0fd 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -39,6 +39,7 @@ * - Fixed invalid data being returned when a GetStatus request is issued in Device mode with an unhandled data recipient * - Added hardware USART receive interrupt and software buffering to the Benito project to ensure received data is not * missed or corrupted + * - Fixed Device mode HID Class driver always sending IN packets, even when nothing to report * * * \section Sec_ChangeLog090810 Version 090810