aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-08-27 06:36:01 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-08-27 06:36:01 +0000
commit665fe11f128b95874befdd59492379a0f5d8105e (patch)
treeb9350cbffc45b59ea91bda94f16b7deed7928e9a
parent8ea5c631c8d690df48c15a4dea12777c5929c19d (diff)
downloadlufa-665fe11f128b95874befdd59492379a0f5d8105e.tar.gz
lufa-665fe11f128b95874befdd59492379a0f5d8105e.tar.bz2
lufa-665fe11f128b95874befdd59492379a0f5d8105e.zip
Fixed Device mode HID Class driver always sending IN reports, even when no data is to be reported.
-rw-r--r--LUFA/Drivers/USB/Class/Device/HID.c6
-rw-r--r--LUFA/ManPages/ChangeLog.txt1
2 files changed, 4 insertions, 3 deletions
diff --git a/LUFA/Drivers/USB/Class/Device/HID.c b/LUFA/Drivers/USB/Class/Device/HID.c
index 0cbd50afc..b44d4db63 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 61485a0dd..42b78ef0f 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