If host fails to read data at time and if the External device on GPIF is not aware of this, it tries to write to FX3, but as the buffers are filled, the new data written will be dropped and previously occupied data will continue to stay in the buffer. This condition is called backflow. This can be detected as a PIB Error. The PIB errors are detected by setting up a callback using CyU3PPibRegisterCallback API.
TO avoid this, there should be flow control between FX3 and processor. This is implemented using DMA Flags. The flags are output control lines from FX3 to External Device to tell if FX3's DMA Buffers are ready to receive or send data.
This is implemented in our SlaveFifo Sync Example project in the following application note: