Problem: WaitForXfer function doesn't work properly, when the FX3 is in U2 state.

Product:
EZ-USB FX3 Development Kit [CYUSB3KIT-001] (for evaluation and debugging).
FX3 device (for development of our products).
EZ-USB FX3 SDK:
verson 1.3
Target board:
FX3 DVK Device board Rev.3. (for this case)
(The same problem is shown on our FX3 system board.)
FX3 Firmware:
workspace/firmware/dma_examples/cyfxbulklpmaninout
Host Application:
BulkLoop sample project (application/bulkloop)
Host computer:
OS: Windows7 Professional 64bit ServicePack 1 (Japanese)
Mother board: ECS Z77H2-H3

FX3 program is running, and it is controlled by JTAG debugger.
BulkLoop Application is controlled by software debugger (Visual Studio).

First, the following is the case of U1/U2 state disabled.
=========================================================================================
Step 1. [u2disabled_1.png]
Run the BulkLoop Application in from software debugger.
Set settings in BulkLoop Application.

Step 2. [u2disabled_2.png]
Push "Start" button in BulkLoop application, then the program breaks at the breakpoint.

Step 3. [u2disabled_3.png]
Step over OUT-EP's BeginDataXfer in the software debugger
Then FX3 Firmware receives input-data, copies the data to a buffer for output,
and breaks at the breakpoint.

Step 4. [u2disabled_4.png]
Step over several lines until the program counter reaches the line of IN-EP's WaitForXfer
in the software debugger.

Step 5. [u2disabled_5.png]
Step over IN-EP's WaitForXfer in the software debugger.
(WaitForXfer is waiting for IN-EP transfer data for 10 seconds.)
Step over CyU3PDmaChannelCommitBuffer in the JTAG debugger during WaitForXfer is waiting.
Then BulkLoop application returns immediately from IN-EP's WaitForXfer in the software debugger.

Step 6. [u2disabled_6.png]
Step over several lines until the program has done IN-EP's FinishDataXfer
in the software debugger.
Check the return value, then you'll find IN-EP's FinishDataXfer succeeded.

Yes, the USB3.0 tansfers work properly.
=========================================================================================

Next, the following is the case of U1/U2 state enabled.
=========================================================================================
Step 1 to 4 are same as the case of U1/U2 state disabled.

Step 5. [u2disabled_5.png]
Step over IN-EP's WaitForXfer in the software debugger.
(WaitForXfer is waiting for IN-EP transfer data for 10 seconds.)
Step over CyU3PDmaChannelCommitBuffer in the JTAG debugger during WaitForXfer is waiting.
However, BulkLoop application doesn't return from IN-EP's WaitForXfer in the software debugger,
unless timeout-error happens.

Step 6. [u2disabled_6.png]
Step over several lines until the program has done IN-EP's FinishDataXfer
in the software debugger.
Check the return value, then you'll find IN-EP's FinishDataXfer failed.

No, the USB3.0 tansfers don't work properly.

Extra step. [u2disabled_7.png]
Terminate BulkLoop.exe.
Move on to the USB Control Center, select "Bulk in endpoint" in the tree,
and select "Data Tranfers" tab.
Push [Transfer Data-IN] button, it'll receive data.
It means the USB host controller on the host computer received data properly.
That's why I think the hardware part has no problem.
=========================================================================================

For additional information, there are a few screenshots.
[driver_info1.png]
[driver_info2.png]
[driver_info3.png]

Thank you.
(the end of contents)