summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk <wd@fifi.denx.de>2006-08-14 22:05:26 +0200
committerWolfgang Denk <wd@fifi.denx.de>2006-08-14 22:05:26 +0200
commit80f0c0f58f6a39f893101d14a79169504e3c93fd (patch)
treefc2dbed14583c96ae52dc0e0049b02102c0cdaeb
parentd689e3462c2ef39f8760051cf9260a8a52b77b25 (diff)
Fix fatload command on FAT32 formatted partitions.
Patch by Joachim Jaeger, 18 Nov 2005
-rw-r--r--CHANGELOG3
-rw-r--r--include/fat.h8
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;