summaryrefslogtreecommitdiff
path: root/disk/part_dos.c
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2010-07-19 09:36:57 (GMT)
committerWolfgang Denk <wd@denx.de>2010-07-24 18:53:43 (GMT)
commit66c2d73cfc901aa35e0331b2fd710b250151f966 (patch)
tree36cd0dff7cca6db402795feedd708ee78fdab1cc /disk/part_dos.c
parenta17c548b5393c5e0b457d6e3043a85bde717f532 (diff)
downloadu-boot-66c2d73cfc901aa35e0331b2fd710b250151f966.tar.xz
FAT32: fix support for superfloppy-format (PBR)
"Superfloppy" format (in U-Boot called PBR) did not work for FAT32 as the file system type string is at a different location. Add support for FAT32. Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'disk/part_dos.c')
-rw-r--r--disk/part_dos.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/disk/part_dos.c b/disk/part_dos.c
index 887b75e..2de1bb8 100644
--- a/disk/part_dos.c
+++ b/disk/part_dos.c
@@ -77,8 +77,10 @@ static int test_block_type(unsigned char *buffer)
(buffer[DOS_PART_MAGIC_OFFSET + 1] != 0xaa) ) {
return (-1);
} /* no DOS Signature at all */
- if(strncmp((char *)&buffer[DOS_PBR_FSTYPE_OFFSET],"FAT",3)==0)
+ if (strncmp((char *)&buffer[DOS_PBR_FSTYPE_OFFSET],"FAT",3)==0 ||
+ strncmp((char *)&buffer[DOS_PBR32_FSTYPE_OFFSET],"FAT32",5)==0) {
return DOS_PBR; /* is PBR */
+ }
return DOS_MBR; /* Is MBR */
}