SPRZ426F November 2014 – September 2024 DRA710 , DRA712 , DRA714 , DRA716 , DRA718 , DRA722 , DRA724 , DRA725 , DRA726
SATA Host Controller Locks up If PIO Setup FIS Is Received and Bus Busy and Data Request Bits Are Cleared
Low
A bug in the SATA core is integrated into the SATA controller.
The host fails to proceed when receiving a D2H PIO setup FIS with bus busy (BSY) and data request (DRQ) bits cleared.
When the three following events occur simultaneously, the host controller fails to proceed and locks up:
The bug is due to a state-machine in the SATA core that is not well implemented for this scenario.
A reset is required to continue communication between the host and the device.
From a user point of view, the impact can be some latency that is seen while proceeding.
Implement a software time-out for locks and then issue one of the followoing two resets, first the least intrusive and/or more intrusive if it does not solve the lock.
Least intrusive, software reset:
More intrusive, Port reset (or COMRESET):
DRA72x SR 2.0, 1.0
TDA2Ex (23mm): 2.0, 1.0
AM571x: 2.1, 2.0, 1.0
DRA72x: 2.0, 1.0