diff options
| -rw-r--r-- | fs/fat/fat.c | 57 | 
1 files changed, 29 insertions, 28 deletions
| diff --git a/fs/fat/fat.c b/fs/fat/fat.c index c068a842e..e98e50ae7 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -89,41 +89,42 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_no)  		/* ok, we assume we are on a PBR only */  		cur_part = 1;  		part_offset=0; -	} -	else { +	} 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", part_no, dev_desc->dev); -		return -1; -	} +		/* 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; +		}  #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; -	} +		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;  } |