[U-Boot] [U-Boot, PATCH 1/1] mmc: emmc and hw partitions partition table id bugfix.
Erik Tideman
erik.tideman at faltcom.se
Mon Jan 11 14:39:07 CET 2016
On bootup the emmc's hw partition is always set to 0 and the partition
table is read from it. When switching to another hw partition the
partition table's id is not updated but instead the old one from
hw partition 0 is used. If there is no partition table on hw partition 0
then the code will terminate and return error even if the desired hw
partition contains a perfectly fine partition table. This fix updates
the partition table struct to correspond to the specified hw partition
before testing if the partition table is valid or not.
Signed-off-by: Erik Tideman <erik.tideman at faltcom.se>
---
disk/part.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/disk/part.c b/disk/part.c
index 909712e..70a38c2 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -493,6 +493,14 @@ int get_device(const char *ifname, const char *dev_hwpart_str,
goto cleanup;
}
+ /*
+ * Updates the partition table for the specified hw partition.
+ * Does not need to be done for hwpart 0 since it is default and
+ * already loaded.
+ */
+ if(hwpart != 0)
+ init_part(*dev_desc);
+
cleanup:
free(dup_str);
return dev;
--
2.5.0
More information about the U-Boot
mailing list