X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/1daa5e16f9a395fb2943906a715adb35b8106988..8f5ab27dc9b2a7c4944a5e7d149f39959ead477e:/LUFA/Drivers/USB/Core/HostStandardReq.c diff --git a/LUFA/Drivers/USB/Core/HostStandardReq.c b/LUFA/Drivers/USB/Core/HostStandardReq.c index 16d0ffb17..5b443e772 100644 --- a/LUFA/Drivers/USB/Core/HostStandardReq.c +++ b/LUFA/Drivers/USB/Core/HostStandardReq.c @@ -38,11 +38,10 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) { - uint8_t* HeaderStream = (uint8_t*)&USB_ControlRequest; - uint8_t* DataStream = (uint8_t*)BufferPtr; - bool BusSuspended = USB_Host_IsBusSuspended(); - uint8_t ReturnStatus = HOST_SENDCONTROL_Successful; - uint16_t DataLen = USB_ControlRequest.wLength; + uint8_t* DataStream = (uint8_t*)BufferPtr; + bool BusSuspended = USB_Host_IsBusSuspended(); + uint8_t ReturnStatus = HOST_SENDCONTROL_Successful; + uint16_t DataLen = USB_ControlRequest.wLength; USB_Host_ResumeBus(); @@ -50,12 +49,15 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) goto End_Of_Control_Send; Pipe_SetPipeToken(PIPE_TOKEN_SETUP); - Pipe_ClearErrorFlags(); + Pipe_ClearError(); Pipe_Unfreeze(); - for (uint8_t HeaderByte = 0; HeaderByte < sizeof(USB_Request_Header_t); HeaderByte++) - Pipe_Write_Byte(*(HeaderStream++)); + Pipe_Write_Byte(USB_ControlRequest.bmRequestType); + Pipe_Write_Byte(USB_ControlRequest.bRequest); + Pipe_Write_Word_LE(USB_ControlRequest.wValue); + Pipe_Write_Word_LE(USB_ControlRequest.wIndex); + Pipe_Write_Word_LE(USB_ControlRequest.wLength); Pipe_ClearSETUP();