You might see timeout, rollover, and recovery because of Start of Packet(SOP) pointer buffer overflow. The SOP pointer buffer can overflow during replay because of internal error message or TLPs submitted from user side for transmission when the following trigger conditions are met:
- ACK packets are lost or not received by Intel® PCIe* Hard IP under a high bit error rate link conditions
- Link partner is unable to ACK packets at regular intervals as per the spec for unknown reasons
If the above trigger conditions persists, then there are chances that internal SOP pointer buffer will reach the full condition. Every replay after this will cause overflow because of error message scheduling (Replay Timeout, Replay Num Rollover) or TLPs are submitted from user side for transmission.