From 38039765346c7441208dbcb3fd3cf8f13b7ced58 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Tue, 10 Mar 2009 05:56:17 +0000 Subject: Fixed incorrect/missing control status stage transfers on demos, bootloaders and applications (thanks to Nate Lawson). --- Projects/AVRISP_Programmer/AVRISP_Programmer.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'Projects/AVRISP_Programmer/AVRISP_Programmer.c') diff --git a/Projects/AVRISP_Programmer/AVRISP_Programmer.c b/Projects/AVRISP_Programmer/AVRISP_Programmer.c index 4bc4f9cc3..58593670e 100644 --- a/Projects/AVRISP_Programmer/AVRISP_Programmer.c +++ b/Projects/AVRISP_Programmer/AVRISP_Programmer.c @@ -267,7 +267,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket) case REQ_GetLineEncoding: if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE)) { - /* Acknowedge the SETUP packet, ready for data transfer */ + /* Acknowledge the SETUP packet, ready for data transfer */ Endpoint_ClearSetupReceived(); /* Write the line coding data to the control endpoint */ @@ -281,7 +281,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket) case REQ_SetLineEncoding: if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE)) { - /* Acknowedge the SETUP packet, ready for data transfer */ + /* Acknowledge the SETUP packet, ready for data transfer */ Endpoint_ClearSetupReceived(); /* Read the line coding data in from the host into the global struct */ @@ -298,10 +298,11 @@ EVENT_HANDLER(USB_UnhandledControlPacket) case REQ_SetControlLineState: if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE)) { - /* Acknowedge the SETUP packet, ready for data transfer */ + /* Acknowledge the SETUP packet, ready for data transfer */ Endpoint_ClearSetupReceived(); - /* Send an empty packet to acknowedge the command */ + /* Acknowledge status stage */ + while (!(Endpoint_IsSetupINReady())); Endpoint_ClearSetupIN(); } -- cgit v1.2.3