[U-Boot-Users] USB SUPPORT

michael trimarchi at gandalf.sssup.it
Mon Apr 21 18:56:28 CEST 2008


Hi,
> #define CONFIG_SUPPORT_VFAT
>
> --- FAT16 vs. FAT32 - Atmel U-Boot v1.1.5 issue? ---
>
> I have found that the USB support is better
> when the USB Storage device is FAT16 formatted
> rather than FAT32 formatted.  For some reason
> not all files were accessible on FAT32
> formatted media, but I never had any problem
> with FAT16 formatted media.
>
> Sincerely,
>
> Ken Fuchs
>
>   
Can you try this patch?
In the git log there is another patch for vfat to be applied.
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..ddee823 100644
--- a/fs/fat/fat.c
+++ b/fs/fat/fat.c
@@ -470,6 +470,12 @@ get_vfatname(fsdata *mydata, int curclust, __u8 
*cluster,
             return -1;
         }
         slotptr2 = (dir_slot*) get_vfatname_block;
+        if (slotptr2->attr != ATTR_VFAT) {
+            realdent = (dir_entry *)get_vfatname_block;
+            get_name ((dir_entry *)get_vfatname_block, l_name);
+            goto out;
+        }
+
         while (slotptr2->id > 0x01) {
             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));
 
-- 1.5.2.1.174.gcd03-dirty




More information about the U-Boot mailing list