diff --git a/LUFA/Drivers/USB/Class/Device/HID.c b/LUFA/Drivers/USB/Class/Device/HID.c index 0cbd50afcc39d109e3fc931ff26636abc1e09489..b44d4db63cfa35956cf6a166bc8a28477667e708 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 61485a0dd461390b4066e9589f6876914999f2e4..42b78ef0fdedc9446cdbdc8452b9ff5d496f8bf0 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