From cf2776531c04b0ebe4fdd9d4ef5324dacefd5639 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Mon, 31 Aug 2009 12:43:28 +0000
Subject: [PATCH] Add extra check for OUT ZLP in the CDC Device Class driver
 service task to quickly clear zero-length termination packets from the host.

---
 LUFA/Drivers/USB/Class/Device/CDC.c | 5 +++++
 LUFA/ManPages/FutureChanges.txt     | 4 +---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/LUFA/Drivers/USB/Class/Device/CDC.c b/LUFA/Drivers/USB/Class/Device/CDC.c
index 31fd8f1b0..816a5f13d 100644
--- a/LUFA/Drivers/USB/Class/Device/CDC.c
+++ b/LUFA/Drivers/USB/Class/Device/CDC.c
@@ -118,6 +118,11 @@ void CDC_Device_USBTask(USB_ClassInfo_CDC_Device_t* CDCInterfaceInfo)
 	if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
 	  return;
 
+	Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataOUTEndpointNumber);
+
+	if (Endpoint_IsOUTReceived() && !(Endpoint_BytesInEndpoint()))
+	  Endpoint_ClearOUT();
+	  
 	CDC_Device_Flush(CDCInterfaceInfo);
 }
 
diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt
index 669b94e07..5ba3f9c89 100644
--- a/LUFA/ManPages/FutureChanges.txt
+++ b/LUFA/ManPages/FutureChanges.txt
@@ -12,9 +12,7 @@
   *  or post your suggestion as an enhancement request to the project bug tracker.
   *
   *  <b>Targeted for This Release:</b>
-  *  - Finish Host Mode Class Drivers, re-enable in makefile, add demo summaries
-  *      (S) HID
-  *      ( ) Still Image
+  *  - Finish HID and Still Image Host Mode Class Drivers, add demo summaries, add return codes to all relevant functions
   *  - Add overviews of each of the officially supported boards to the manual
   *  - Re-add in flip, flip-ee, dfu and dfu-ee targets to project makefiles
   *  - Add in new invalid event hook check targets to project makefiles
-- 
GitLab