Message ID | DB4PR04MB3646690A363100B5F97EF8FF9C90@DB4PR04MB364.eurprd04.prod.outlook.com |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
On Mon, Jan 11, 2016 at 01:39:07PM +0000, Erik Tideman wrote: > 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@faltcom.se> Reviewed-by: Tom Rini <trini@konsulko.com> But can you please post a v2 with whitespace that matches the rest of the file? Thanks!
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;
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@faltcom.se> --- disk/part.c | 8 ++++++++ 1 file changed, 8 insertions(+)