/* Clear the endpoint data */\r
Endpoint_ClearSetupOUT();\r
\r
- /* Wait until the host is ready to receive the request confirmation */\r
+ /* Acknowledge status stage */\r
while (!(Endpoint_IsSetupINReady()));\r
- \r
- /* Handshake the request by sending an empty IN packet */\r
Endpoint_ClearSetupIN();\r
}\r
\r
\r
/* Send the flag to the host */\r
Endpoint_ClearSetupIN();\r
+\r
+ /* Acknowledge status stage */\r
+ while (!(Endpoint_IsSetupOUTReceived()));\r
+ Endpoint_ClearSetupOUT();\r
}\r
\r
break;\r
/* Set or clear the flag depending on what the host indicates that the current Protocol should be */\r
UsingReportProtocol = (wValue != 0x0000);\r
\r
- /* Send an empty packet to acknowedge the command */\r
+ /* Acknowledge status stage */\r
+ while (!(Endpoint_IsSetupINReady()));\r
Endpoint_ClearSetupIN();\r
}\r
\r
/* Get idle period in MSB */\r
IdleCount = (wValue >> 8);\r
\r
- /* Send an empty packet to acknowedge the command */\r
+ /* Acknowledge status stage */\r
+ while (!(Endpoint_IsSetupINReady()));\r
Endpoint_ClearSetupIN();\r
}\r
\r
\r
/* Send the flag to the host */\r
Endpoint_ClearSetupIN();\r
+\r
+ /* Acknowledge status stage */\r
+ while (!(Endpoint_IsSetupOUTReceived()));\r
+ Endpoint_ClearSetupOUT();\r
}\r
\r
break;\r