[U-Boot-Users] FW: USB SUPPORT & get_vfatname

Ken.Fuchs at bench.com Ken.Fuchs at bench.com
Thu Apr 24 01:32:53 CEST 2008


Michael,

I copied all files in fs/fat from git repository u-boot-at91.  Made trivial changes to compile it with my code base.  Added your latest get_vfatname patch, but it had no effect on the issue.  fatls still
doesn't list filenames in some FAT32 filesystems, including the one
built via the Linux script I provided earlier in this thread.

Thus, there's no point in looking at the fat.c file I sent earlier
today.  The problem remains in the git fat.c code or possibly in
the USB stack code.  However, FAT16 has never failed, so the issue
is more likely to be with the FAT32 or vfat code. 

Sincerely,

Ken Fuchs

-----Original Message-----
From: u-boot-users-bounces at lists.sourceforge.net [mailto:u-boot-users-bounces at lists.sourceforge.net] On Behalf Of Ken.Fuchs at bench.com
Sent: Wednesday, April 23, 2008 13:01
To: trimarchi at gandalf.sssup.it
Cc: u-boot-users at lists.sourceforge.net
Subject: Re: [U-Boot-Users] USB SUPPORT & get_vfatname


Michael,

Sorry, your latest get_vfatname patch doesn't work either.

FAT16 works perfectly, so the USB code is probably _not_ at fault.  I see only problems with FAT32, but only for _some_ long collections of files.

Thus, there may still be a problem with fs/fat/fat.c.  Maybe there is something wrong with my copy of fat.c  I attached it;  Perhaps you can see a problem with it.

Sincerely,

Ken Fuchs

> -----Original Message-----
> From: michael [mailto:trimarchi at gandalf.sssup.it] 
> Sent: Wednesday, April 23, 2008 06:16
> To: michael
> Cc: Fuchs, Ken; u-boot-users at lists.sourceforge.net; Wolfgang Denk
> Subject: Re: [U-Boot-Users] USB SUPPORT & get_vfatname
> 
> 
> 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