[U-Boot] [PATCH] fat: correct ATTR_VFAT check
Sergei Shtylyov
sshtylyov at ru.mvista.com
Wed Oct 19 19:43:08 CEST 2011
From: J. Vijayanand <vijayanand.jayaraman at in.bosch.com>
ATTR_VFAT condition requires multiple bits to be set but the present
condition checking in do_fat_read() & get_dentfromdir() ends up
passing on even a single bit being set.
Signed-off-by: J. Vijayanand <vijayanand.jayaraman at in.bosch.com>
Signed-off-by: Sergei Shtylyov <sshtylyov at ru.mvista.com>
---
fs/fat/fat.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Index: u-boot/fs/fat/fat.c
===================================================================
--- u-boot.orig/fs/fat/fat.c
+++ u-boot/fs/fat/fat.c
@@ -572,8 +572,8 @@ static dir_entry *get_dentfromdir (fsdat
}
if ((dentptr->attr & ATTR_VOLUME)) {
#ifdef CONFIG_SUPPORT_VFAT
- if ((dentptr->attr & ATTR_VFAT) &&
- (dentptr-> name[0] & LAST_LONG_ENTRY_MASK)) {
+ if ((dentptr->attr & ATTR_VFAT) == ATTR_VFAT &&
+ (dentptr->name[0] & LAST_LONG_ENTRY_MASK)) {
prevcksum = ((dir_slot *)dentptr)->alias_checksum;
get_vfatname(mydata, curclust,
get_dentfromdir_block,
@@ -897,7 +897,7 @@ do_fat_read (const char *filename, void
}
if ((dentptr->attr & ATTR_VOLUME)) {
#ifdef CONFIG_SUPPORT_VFAT
- if ((dentptr->attr & ATTR_VFAT) &&
+ if ((dentptr->attr & ATTR_VFAT) == ATTR_VFAT &&
(dentptr->name[0] & LAST_LONG_ENTRY_MASK)) {
prevcksum =
((dir_slot *)dentptr)->alias_checksum;
More information about the U-Boot
mailing list