diff options
author | Wolfgang Denk <wd@fifi.denx.de> | 2006-08-14 22:05:26 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@fifi.denx.de> | 2006-08-14 22:05:26 +0200 |
commit | 80f0c0f58f6a39f893101d14a79169504e3c93fd (patch) | |
tree | fc2dbed14583c96ae52dc0e0049b02102c0cdaeb | |
parent | d689e3462c2ef39f8760051cf9260a8a52b77b25 (diff) |
Fix fatload command on FAT32 formatted partitions.
Patch by Joachim Jaeger, 18 Nov 2005
-rw-r--r-- | CHANGELOG | 3 | ||||
-rw-r--r-- | include/fat.h | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG index 2247a24af44..6c8043ff7c1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,9 @@ Changes since U-Boot 1.1.4: ====================================================================== +* Fix fatload command on FAT32 formatted partitions. + Patch by Joachim Jaeger, 18 Nov 2005 + * Fix drivers/dm9000.c when configured in 32 bit mode. Patch by Eric Benard, 17 Nov 2005 diff --git a/include/fat.h b/include/fat.h index 0645458f17b..92638d535e4 100644 --- a/include/fat.h +++ b/include/fat.h @@ -175,15 +175,19 @@ typedef struct dir_slot { __u8 name11_12[4]; /* Last 2 characters in name */ } dir_slot; -/* Private filesystem parameters */ +/* Private filesystem parameters + * + * Note: FAT buffer has to be 32 bit aligned + * (see FAT32 accesses) + */ typedef struct { + __u8 fatbuf[FATBUFSIZE]; /* Current FAT buffer */ int fatsize; /* Size of FAT in bits */ __u16 fatlength; /* Length of FAT in sectors */ __u16 fat_sect; /* Starting sector of the FAT */ __u16 rootdir_sect; /* Start sector of root directory */ __u16 clust_size; /* Size of clusters in sectors */ short data_begin; /* The sector of the first cluster, can be negative */ - __u8 fatbuf[FATBUFSIZE]; /* Current FAT buffer */ int fatbufnum; /* Used by get_fatent, init to -1 */ } fsdata; |