As per your state machine, there is no flow control mechanism between Master and Slave.
How does the master know that when to stop data transfer and when to start?
Please enable the debug prints in your firmware.
Note that you are not supposed to use Debug Prints in Callback functions.
Please refer AN65974 - https://www.cypress.com/documentation/application-notes/an65974-designing-ez-usb-fx3-slave-fifo-interface for Slavefifo slave fifo application