I assume that you are using the FX2LP (CY7C68013A) chip. Please correct me if I am wrong.
While using control commands, the first eight bytes of data are loaded into the SETUPDAT register. These eight bytes are as follows:
Byte 0: bmRequestType
Byte 1: bRequest
Byte 2: wValue
Byte 4: wIndex
Byte 6: wLength
When more than 8 bytes are to be transferred during a control transfer, the additional data gets loaded into the endpoint zero (EP0) buffer.
Thanks for help.
What I forgot was to reload the buffer with the next USB packet.