I found the FX3 FAQs (KBA224051), the description of BACKFLOW_DETECT in this article was as follows:
Question: In the AN75779 example, I enabled BACKFLOW_DETECT. When the FX3 Firmware calls CyU3PGpifDisable(), FX3 occasionally stops responding. Why does it happen?
Answer: It may happen because of PIB/GPIF error interrupts invoked in the application. If you enable BACKFLOW_DETECT, you need to disable any interrupt with the CyU3PVicDisableAllInterrupts() function during the CyU3PGpifDisable() process.
I actually encountered this problem and was able to solve it with the provided workaround, but there are some questions.
In the AN75779 source code, the PIB/GPIF error interupt callback function only sets 1 to the flag.
So I don't think there is a problem with the processing.
What mechanism does FX3 stop responding to?
My application also uses UART interrupts, can I disable only PIB/GPIB error interrupts?