fs/fat: Fix FAT detection to support non-DOS partition tables
authorKyle Moffett <Kyle.D.Moffett@boeing.com>
Wed, 21 Dec 2011 07:08:10 +0000 (07:08 +0000)
committerWolfgang Denk <wd@denx.de>
Thu, 5 Jan 2012 19:10:06 +0000 (20:10 +0100)
commit9813b750f32c0056f0a35813b9a9ec0f68b664af
tree8e9f487ab2a7be1fd914dd98507521626e4e6a02
parent26784f1ecb5002aa309f2aefcb1157a9282a2007
fs/fat: Fix FAT detection to support non-DOS partition tables

The FAT filesystem code currently ends up requiring that the partition
table be a DOS MBR, as it checks for the DOS 0x55 0xAA signature on the
partition table (which may be Mac, EFI, ISO9660, etc) before actually
computing the partition offset.

This fixes support for accessing a FAT filesystem in an ISO9660 boot
volume (El-Torito format) by reordering the filesystem checks and
reading the 0x55 0xAA "DOS boot signature" and FAT/FAT32 magic number
from the first sector of the partition instead of from sector 0.

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Fix build warning:  fat.c: In function 'fat_register_device':
fat.c:66:15: warning: variable 'found_partition' set but not used
[-Wunused-but-set-variable]
Signed-off-by: Wolfgang Denk <wd@denx.de>
fs/fat/fat.c