It looks like there should be a delay between Xferdata calls.
Since USB 3.0 streams the data at higher rate, there is possibility that the device is sending more NAK.
You may capture the USB trace with Wireshark and see the difference.
Thanks for the reply.
Sorry that I am not very clear about USB protocol, what may happen if the device is sending more NAK?
When the host send IN_REQUEST for data from the device, the device responds with the data, if it has. Otherwise, it will send NAK (No data to send).
So.. how can I avoid this problem?
The specific situation is:
We are sending data from FPGA to PC through XferData(*), but the function returns TIMEOUT.
However, on the FPGA side, we received LOW on FLAGA and FLAGB which indicates FIFO full.
Is this possible?