Fixed Device mode HID Class driver always sending IN reports, even when no data is...
authorDean Camera <dean@fourwalledcubicle.com>
Thu, 27 Aug 2009 06:36:01 +0000 (06:36 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Thu, 27 Aug 2009 06:36:01 +0000 (06:36 +0000)
LUFA/Drivers/USB/Class/Device/HID.c
LUFA/ManPages/ChangeLog.txt

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