From mboxrd@z Thu Jan 1 00:00:00 1970 From: michael Date: Mon, 21 Apr 2008 18:56:28 +0200 Subject: [U-Boot-Users] USB SUPPORT In-Reply-To: References: Message-ID: <480CC73C.8000509@gandalf.sssup.it> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 --- 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