[U-Boot-Users] USB SUPPORT & get_vfatname

michael trimarchi at gandalf.sssup.it
Wed Apr 23 13:15:55 CEST 2008


Hi,

michael wrote:
> Hi,
>
> Can you try this one?
>
> Revert my last one patch?
> It change the test code, before the while. I use your script on a 
> Compact Flash and it looks fine for me (under linux).
>
> Regards Michael
>
> ------------------------------------------------------------------------
>
> Check if the entry is a valid dir_slot entry, otherwise it is a dentry and the
> name has to be taken by the get_name function
>
> Signed-off-by: michael trimarchi <trimarchi at gandalf.sssup.it>
>
> ---
>  fs/fat/fat.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/fs/fat/fat.c b/fs/fat/fat.c
> index 49c78ed..bc37cec 100644
> --- a/fs/fat/fat.c
> +++ b/fs/fat/fat.c
> @@ -473,8 +473,14 @@ get_vfatname(fsdata *mydata, int curclust, __u8 *cluster,
>  		while (slotptr2->id > 0x01) {
>  			slotptr2++;
>  		}
> +
>  		/* Save the real directory entry */
>  		realdent = (dir_entry*)slotptr2 + 1;
> +		if (slotptr2->attr != ATTR_VFAT) {
> +			get_name ((dir_entry *)realdent, l_name);
> +			goto out;
> +		}
> +
>  		while ((__u8*)slotptr2 >= get_vfatname_block) {
>  			slot2str(slotptr2, l_name, &idx);
>  			slotptr2--;
> @@ -494,6 +500,7 @@ get_vfatname(fsdata *mydata, int curclust, __u8 *cluster,
>  	else if (*l_name == aRING) *l_name = 'å';
>  	downcase(l_name);
>  
> +out:
>  	/* Return the real directory entry */
>  	memcpy(retdent, realdent, sizeof(dir_entry));
>  
>   
The scripts in this thread can be used to test the fat32 filesystem. I 
do some tests using Compact Flash
device and this patchs work for me. I would like to know if is a fat 
layer problem or usb layer problem.

Michael





More information about the U-Boot mailing list