Dear Wolfgang. 2017-03-23 16:13 GMT+01:00 Wolfgang Denk <w...@denx.de>: > Dear Mirza, > > In message > <CAJ=nTsvH4XPk_b0SWqHX3gbVsqCbCxro=o20fq1rr2dcgxq...@mail.gmail.com> you > wrote: >> >> I am running U-boot 2015.04 and experiencing some issues with "fatls" >> command. > ... >> Normally "fatls" returns "0" when it does a successful list. But we >> have found a case where it does not even though everything seems to >> work fine. Below is a log with debug enabled (obfuscated filenames >> since I got this flash drive from a customer). > > Please update to a recent versionof the code. The return code > handling has probably been fixed by this commit: > > 0a04ed8 2015-09-11 17:15:21 -0400 FIX: fat: Provide correct return code > from disk_{read|write} to upper layers
I did an update (cherry-picked FAT related commits from upstream), but I still get the same result. Analyzing the code in fs/fat/fat.c:do_fat_read_at (which is called by the fatls command) one can see that "ret" is set in three locations. In my case I never reach any of these three, since my exit path is: fs/fat/fat.c: 1139 /* If end of rootdir reached */ 1140 if (rootdir_end) { 1141 if (dols == LS_ROOT) { 1142 printf("\n%d file(s), %d dir(s)\n\n", 1143 files, dirs); 1144 *size = 0; 1145 } 1146 goto exit; 1147 } So either this exit path is actually an error and it is correct as-is, or this path should set "ret = 0". My knowledge of FAT is limited so I can not really tell which it should be but there is no indications in the code/comments that this exit path is an error. -- Med Vänliga Hälsningar / Best Regards ******************************************************************* Mirza Krak Host Mobility AB mirza.k...@hostmobility.com Anders Personsgatan 12, 416 64 Göteborg Sweden http://www.hostmobility.com Direct: +46 31 31 32 704 Phone: +46 31 31 32 700 Fax: +46 31 80 67 51 Mobile: +46 730 28 06 22 ******************************************************************* _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot