[U-Boot] [PATCH] fat: reset VFAT short alias checksum on first match
Sergei Shtylyov
sshtylyov at ru.mvista.com
Mon Jan 2 17:54:29 CET 2012
The VFAT short alias checksum read from a long file name is only overwritten
when another long file name appears in a directory list. Until then it renders
short file names invisible that have the same checksum. Reset the checksum on
first match.
Signed-off-by: Sergei Shtylyov <sshtylyov at ru.mvista.com>
Signed-off-by: Martin Mueller <martin.mueller5 at de.bosch.com>
---
fs/fat/fat.c | 2 ++
1 file changed, 2 insertions(+)
Index: u-boot/fs/fat/fat.c
===================================================================
--- u-boot.orig/fs/fat/fat.c
+++ u-boot/fs/fat/fat.c
@@ -633,6 +633,7 @@ static dir_entry *get_dentfromdir (fsdat
}
#ifdef CONFIG_SUPPORT_VFAT
if (dols && mkcksum(dentptr->name) == prevcksum) {
+ prevcksum = 0xffff;
dentptr++;
continue;
}
@@ -963,6 +964,7 @@ do_fat_read (const char *filename, void
#ifdef CONFIG_SUPPORT_VFAT
else if (dols == LS_ROOT &&
mkcksum(dentptr->name) == prevcksum) {
+ prevcksum = 0xffff;
dentptr++;
continue;
}
More information about the U-Boot
mailing list