aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/LowLevel/Template/Template_Endpoint_Control_W.c
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-11-20 06:56:43 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-11-20 06:56:43 +0000
commit6c38ca28907034aa9a5f294dc26f98d90234dea8 (patch)
treeb79eaa41d1df490b6cf137d514c4ca33b14c9c97 /LUFA/Drivers/USB/LowLevel/Template/Template_Endpoint_Control_W.c
parent7ef58eef7a57c46ab53ed8a26805b58dcffd7010 (diff)
downloadlufa-6c38ca28907034aa9a5f294dc26f98d90234dea8.tar.gz
lufa-6c38ca28907034aa9a5f294dc26f98d90234dea8.tar.bz2
lufa-6c38ca28907034aa9a5f294dc26f98d90234dea8.zip
Fixed Endpoint_Write_Control_Stream_* functions not sending a terminating IN when the given data length is zero.
Diffstat (limited to 'LUFA/Drivers/USB/LowLevel/Template/Template_Endpoint_Control_W.c')
-rw-r--r--LUFA/Drivers/USB/LowLevel/Template/Template_Endpoint_Control_W.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/LUFA/Drivers/USB/LowLevel/Template/Template_Endpoint_Control_W.c b/LUFA/Drivers/USB/LowLevel/Template/Template_Endpoint_Control_W.c
index a2a9b8c1a..2de7a74f5 100644
--- a/LUFA/Drivers/USB/LowLevel/Template/Template_Endpoint_Control_W.c
+++ b/LUFA/Drivers/USB/LowLevel/Template/Template_Endpoint_Control_W.c
@@ -5,7 +5,9 @@ uint8_t TEMPLATE_FUNC_NAME (const void* Buffer, uint16_t Length)
if (Length > USB_ControlRequest.wLength)
Length = USB_ControlRequest.wLength;
-
+ else if (!(Length))
+ Endpoint_ClearIN();
+
while (Length || LastPacketFull)
{
if (Endpoint_IsSETUPReceived())