AnsweredAssumed Answered

U-Boot timeout on sata load but no error detected

Question asked by Dirk Weber on Jul 25, 2018
Latest reply on Aug 10, 2018 by Yiping Wang


I am facing a strange problem when loading a small file (less thaqn 512 bytes) from a SATA disk using U-Boot:

The transfer times out but the load will succeed eventually. The same problem happens when loading files of any size that have the last block non-contiguous.

When stepping through the U-Boot sources that behavior is easy to explain:

The FAT FS will first load any number of blocks of a cluster (including no blocks!) and than load the last 512 bytes for the remaining data. The fsl_sata.c does not care about sata_read() with blkcnt==0 and will therefor timeout (the disk will not send a complete when there is no data to transfer).

While this problem is easy to fix I wonder why this issue I haven't been reported anywhere yet...


...or is there any mistake on my side??