On Fri, Oct 05, 2012 at 01:17:40PM -0000, Stephen Warren wrote: > From: Stephen Warren <swar...@nvidia.com> > > Logically, a disk that contains a raw FAT filesystem does not in fact > have a partition table. However, test_part_dos() was claiming that such > disks did in fact have a DOS-style partition table. This caused > get_device_and_partition() not to return a whole-disk disk_partition_t, > since part_type != PART_TYPE_UNKNOWN. > > part_dos.c's print_partition_extended() detected the raw FAT filesystem > condition and printed a fake partition table that encompassed the whole > disk. > > However, part_dos.c's get_partition_info_extended() did not return any > valid partitions in this case. This combination caused > get_device_and_partition() not to find any valid partitions, and hence > to return an error. > > Fix test_part_dos() not to claim that raw FAT filesystems are DOS > partition tables. In turn, this causes get_device_and_partition() to > return a whole-disk disk_partition_t, and hence the following commands > work: > > fatls mmc 0 / > fatls mmc 0:auto / > > An alternative would be to modify print_partition_extended() to detect > raw FAT filesystems, just like print_partition_extended() does, and to > return a fake partition in this case. However, this seems logically > incorrect, and also duplicates code, since get_device_and_partition() > falls back to returning a whole-disk partition when there is no partition > table on the device. > > Signed-off-by: Stephen Warren <swar...@nvidia.com>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot