[U-Boot-Users] USB SUPPORT & get_vfatname

Ken.Fuchs at bench.com Ken.Fuchs at bench.com
Wed Apr 23 20:01:10 CEST 2008


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
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fat.c
Type: application/octet-stream
Size: 24738 bytes
Desc: fat.c
Url : http://lists.denx.de/pipermail/u-boot/attachments/20080423/2a4bffdc/attachment.obj 


More information about the U-Boot mailing list