Fixed incorrect/missing control status stage transfers on demos, bootloaders and applications (thanks to Nate Lawson).

This commit is contained in:
Dean Camera 2009-03-10 05:56:17 +00:00
parent 4a09da2098
commit 3803976534
23 changed files with 157 additions and 67 deletions

View file

@ -209,7 +209,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 */
@ -223,7 +223,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 */
@ -237,10 +237,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 (currently unused) */
/* Acknowledge status stage */
while (!(Endpoint_IsSetupINReady()));
Endpoint_ClearSetupIN();
}