in my FX3-project I setup besides some further DMA-channels a manual DMA out-channel between CPU and USB-socket. For this channel I use external buffers to feed the DMA-engine using the API's CyU3PDmaChannelSetupSendBuffer() and CyU3PDmaChannelWaitForCompletion(). So far it worked without any problems but now a use-case occurred where the API CyU3PDmaChannelWaitForCompletion() doesn't return if I set it's parameter 'waitOption' to infinite. Setting this parameter to a value != infinite the API returns with error-code CY_U3P_ERROR_TIMEOUT. In the use-case the API is called 7 times without error but the 8th call fails.
What can cause this API to behave like this? I don't know where I have to search the root-cause in my code since it worked fine in the past...
Could you please create a tech support case so that one of our engineer will look into your application code and suggest you on what is going wrong in your project.