Re: [U-Boot] fatls returncode

2017-04-04 Thread Mirza Krak
2017-03-27 10:51 GMT+02:00 Wolfgang Denk :
> Dear Mirza,
>
> In message 
> 

Re: [U-Boot] fatls returncode

2017-04-04 Thread Mirza Krak
Dear Wolfgang.

2017-03-23 16:13 GMT+01:00 Wolfgang Denk :
> Dear Mirza,
>
> In message 
> 

Re: [U-Boot] fatls returncode

2017-03-27 Thread Wolfgang Denk
Dear Mirza,

In message 

Re: [U-Boot] fatls returncode

2017-03-23 Thread Wolfgang Denk
Dear Mirza,

In message 

[U-Boot] fatls returncode

2017-03-23 Thread Mirza Krak
Hi.

I am running U-boot 2015.04 and experiencing some issues with "fatls" command.

We use the "fatls" command to detect if there is an USB storage device
plugged in the port during boot (might be better ways of doing this).
So on boot we have:

   fatls usb 0:1 && 

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).

MX-4 C61 # fatls usb 0:1
VFAT Support enabled
FAT32, fat_sect: 1146, fatlength: 7619
Rootdir begins at cluster: 2, sector: 16384, offset: 80
Data begins at: 16368
Sector size: 512, cluster size: 8
FAT read(sect=16384, cnt:8), clust_size=8, DIRENTSPERBLOCK=16
system volume information/
bin/
boot/
etc/
i4m/
lib/
sbin/
share/
 1530   file1.sh
15542   file2.sh
 1745   file3.sh
 4609   file4.sh
END LOOP: buffer_blk_cnt=0   clust_size=8
 1547   file5.sh
22361   file6.sh
   385078   file7.sh
33279   file8.sh
  1152054   file9.sh
   158132   file10.sh
 1473   file11.sh
 9739   file12.sh
   318780   file13.sh
END LOOP: buffer_blk_cnt=1   clust_size=8
 34027520   file14.sh
 1246   file15.sh
 1246   file16.sh
END LOOP: buffer_blk_cnt=2   clust_size=8
END LOOP: buffer_blk_cnt=3   clust_size=8
END LOOP: buffer_blk_cnt=4   clust_size=8
END LOOP: buffer_blk_cnt=5   clust_size=8
END LOOP: buffer_blk_cnt=6   clust_size=8
END LOOP: buffer_blk_cnt=7   clust_size=8
FAT32: entry: 0x0002 = 2, offset: 0x0002 = 2
FAT32: ret: 0fff, offset: 0002

16 file(s), 8 dir(s)

MX-4 C61 # echo $?
1

Even though the file list seems to be OK, the return code indicates an error.

I am wondering if we need to set "ret = 0" in below code-path (which
the exit path in above output)

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",
1143files, dirs);
1144 *size = 0;
1145 }
1146 goto exit;
1147 }

-- 
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