diff options
| -rw-r--r-- | fs/fat/fat.c | 63 | 
1 files changed, 29 insertions, 34 deletions
diff --git a/fs/fat/fat.c b/fs/fat/fat.c index e98e50ae7..ee8b5fe47 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -85,46 +85,41 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_no)  		/* no signature found */  		return -1;  	} -	if(!strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET],"FAT",3)) { -		/* ok, we assume we are on a PBR only */ -		cur_part = 1; -		part_offset=0; -	} else {  #if (defined(CONFIG_CMD_IDE) || \       defined(CONFIG_CMD_SCSI) || \       defined(CONFIG_CMD_USB) || \ -     (defined(CONFIG_MMC) && defined(CONFIG_LPC2292)) || \ -     defined(CONFIG_SYSTEMACE)          ) -		/* First we assume, there is a MBR */ -		if (!get_partition_info (dev_desc, part_no, &info)) { -			part_offset = info.start; -			cur_part = part_no; -		} else if (!strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET], "FAT", 3)) { -			/* ok, we assume we are on a PBR only */ -			cur_part = 1; -			part_offset = 0; -		} else { -			printf ("** Partition %d not valid on device %d **\n", +     defined(CONFIG_MMC) || \ +     defined(CONFIG_SYSTEMACE) ) +	/* First we assume, there is a MBR */ +	if (!get_partition_info (dev_desc, part_no, &info)) { +		part_offset = info.start; +		cur_part = part_no; +	} else if (!strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET], "FAT", 3)) { +		/* ok, we assume we are on a PBR only */ +		cur_part = 1; +		part_offset = 0; +	} else { +		printf ("** Partition %d not valid on device %d **\n",  				part_no, dev_desc->dev); -			return -1; -		} +		return -1; +	} +  #else -		if(!strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET],"FAT",3)) { -			/* ok, we assume we are on a PBR only */ -			cur_part = 1; -			part_offset = 0; -			info.start = part_offset; -		} else { -			/* FIXME we need to determine the start block of the -			 * partition where the DOS FS resides. This can be done -			 * by using the get_partition_info routine. For this -			 * purpose the libpart must be included. -			 */ -			part_offset = 32; -			cur_part = 1; -		} -#endif +	if (!strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET],"FAT",3)) { +		/* ok, we assume we are on a PBR only */ +		cur_part = 1; +		part_offset = 0; +		info.start = part_offset; +	} else { +		/* FIXME we need to determine the start block of the +		 * partition where the DOS FS resides. This can be done +		 * by using the get_partition_info routine. For this +		 * purpose the libpart must be included. +		 */ +		part_offset = 32; +		cur_part = 1;  	} +#endif  	return 0;  }  |