The issue is related to the PCI: aardvark component in the Linux kernel, where starting a new PIO transfer by writing value 0 in the PIO START register when the previous transfer has not yet completed causes an External Abort on the CPU, resulting in a kernel panic. This happens because the kernel may issue a new PIO request while the previous one has not finished, especially during link retraining or after a link down event, which can take up to 1.44 seconds to time out. To prevent kernel panic, it is required to reject a new PIO transfer when the previous one has not finished yet. The kernel may issue a new PIO request only if the previous PIO transfer timed out.