A packet rewind condition (retry or error recovery) in which the lnk_tnext_fm does not need to change, but where there are outstanding packets in the buffer, will cause the transmit buffer to lock-up. This lock-up will prevent transmit traffic from propagating and will eventually back-up the receive buffer if there are outstanding target transactions.
The symptoms are:
- lnk_tnext_fm = lnk_tlast_ack + 1
- TX_RDY_N from the buffer de-asserted
- LNK_TDST_RDY_N from the PHY asserted, but LNK_TSRC_RDY_N from the buffer de-asserted
In this scenario, the buffer will need to be reset and the data in it will be lost. This is a rare case, however, Xilinx recommends an update to the v4.1 core.
This issue is fixed in Serial Rapid IO v4.1 Core.