From: Stephen Warren <swar...@nvidia.com>

When get_device_and_partition() finds a disk without a partition table,
under some conditions, it "returns" a disk_partition_t that describes
the entire raw disk. Make sure to initialize all fields in the partition
descriptor in that case.

The value chosen for name is just some arbitrary descriptive string.

The value chosen for info matches the check at the end of
get_device_and_partition(). However, it's probably not that important;
it's not obvious that the value is really used.

Reported-by: Benoît Thébaudeau <benoit.thebaud...@advansee.com>
Signed-off-by: Stephen Warren <swar...@nvidia.com>
---
Tom, this is technically a bug, so putting in the release might make
sense, although I doubt it has much practical impact, so deferring it
into u-boot/next would probably be just as good.

 disk/part.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/disk/part.c b/disk/part.c
index a0c77dd..8ba3cde 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -561,6 +561,8 @@ int get_device_and_partition(const char *ifname, const char 
*dev_part_str,
                info->size = (*dev_desc)->lba;
                info->blksz = (*dev_desc)->blksz;
                info->bootable = 0;
+               strcpy((char *)info->type, BOOT_PART_TYPE);
+               strcpy((char *)info->name, "Whole Disk");
 #ifdef CONFIG_PARTITION_UUIDS
                info->uuid[0] = 0;
 #endif
-- 
1.7.0.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to