We have seen occasions where a marginal link seems to show higher than normal CRC errors and even a fatal error that requires software to recover. The situations that we have observed happens after a reset to one of the link partners. Even with the error recovery steps and ACKID alignment steps that are outlined in other threads, the issue may show up as a very long delay to recover the link before being able to send packets. What we've determined through some testing is that the port_ok bit actually toggles on some of these links, and depending on when and how often it toggles, this can cause havoc on the physical layer statemachines and cause some of these error states.