In a certain condition, a packet might appear to be stuck in the SRIO PHY layer until the second packet is sent to flush out the first packet.
This is seen when the link partner issues a retry for the same packet as it is currently being transferred; the buffer does not assert lnk_tsrc_dsc_n with lnk_teof_n after the PHY signals lnk_tdst_dsc_n. This causes the PHY to erroneously increment the lnk_tnext_fm value without actually having sent a packet. If another packet is sent (the flushing packet), then the flushing packet creates an out of order ackID error condition, everything is rewound, and both packets are sent.
This issue might be seen in SRIO v4.4 and earlier versions of the core.
This issue will be fixed in SRIO v5.1.