[U-Boot] [PATCH] disk: part: Don't skip partition init
Robert Hancock
hancock at sedsystems.ca
Tue Jun 18 15:53:04 UTC 2019
blk_get_device_by_str was skipping part_init when hw partition 0 was
selected because it is the default. However, this caused issues when
switching to a non-zero partition and then back to partition zero, as
stale data from the wrong partition was returned.
Remove this optimization and call part_init regardless of the selected
partition.
Signed-off-by: Robert Hancock <hancock at sedsystems.ca>
---
disk/part.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/disk/part.c b/disk/part.c
index 862078f..f14bc22 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -414,11 +414,10 @@ int blk_get_device_by_str(const char *ifname, const char *dev_hwpart_str,
#ifdef CONFIG_HAVE_BLOCK_DEVICE
/*
* 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.
+ * Always should be done, otherwise hw partition 0 will return stale
+ * data after displaying a non-zero hw partition.
*/
- if(hwpart != 0)
- part_init(*dev_desc);
+ part_init(*dev_desc);
#endif
cleanup:
--
1.8.3.1
More information about the U-Boot
mailing list