I am using a PMOD BT2 plugged to a Zynq board. The default interface uses the Xilinx AXI UART 16550 IP. It works fine in polling mode, but when I use interrupts to control the reception, there are many races. Initially I thought it was a problem of the debug execution mode, but then I realized it also happens in run mode. I have tried several UART configuration options and coding alternatives, but with no success. Is this a known issue of the UART 16550 IP? Any suggestion to avoid races?