diff options
author | Tom Rini <trini@konsulko.com> | 2023-08-27 11:04:02 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-08-27 11:04:02 -0400 |
commit | 6a1d3f64c201ed3f6df819cfcf08154b6ec1c02e (patch) | |
tree | 566da16c29bc65dabc09afeea06c9840bbb37a90 /cmd/gpt.c | |
parent | e508b930021168c788f14977fc101ccc1151b3c8 (diff) | |
parent | cc889bd0754e50a3cd50e8ed3094388480fbec86 (diff) |
Merge tag 'efi-2023-10-rc4' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2023-10-rc4
Documentation:
* describe TPL/VPL/SPL boot
* Add support for sphinx-prompt and convert TI K3 to use it
* board: sdm845: Explicitly add boot.img flashing command
EFI:
* remove handle from events when deleting it
Others:
* fix gpt sub-commands setenv and enumerate
* add a parameter check in hash_calculate()
Diffstat (limited to 'cmd/gpt.c')
-rw-r--r-- | cmd/gpt.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/cmd/gpt.c b/cmd/gpt.c index 007a68eaa72..964056bd28b 100644 --- a/cmd/gpt.c +++ b/cmd/gpt.c @@ -691,12 +691,13 @@ static int gpt_enumerate(struct blk_desc *desc) int ret; int i; + if (part_drv->test(desc)) + continue; + for (i = 1; i < part_drv->max_entries; i++) { ret = part_drv->get_info(desc, i, &pinfo); - if (ret) { - /* no more entries in table */ - break; - } + if (ret) + continue; ptr = &part_list[str_len]; tmp_len = strlen((const char *)pinfo.name); @@ -711,9 +712,10 @@ static int gpt_enumerate(struct blk_desc *desc) /* One byte for space(" ") delimiter */ ptr[tmp_len] = ' '; } + if (*part_list) + part_list[strlen(part_list) - 1] = 0; + break; } - if (*part_list) - part_list[strlen(part_list) - 1] = 0; debug("setenv gpt_partition_list %s\n", part_list); return env_set("gpt_partition_list", part_list); @@ -742,7 +744,7 @@ static int gpt_setenv_part_variables(struct disk_partition *pinfo, int i) if (ret) goto fail; - ret = env_set_ulong("gpt_partition_entry", i); + ret = env_set_hex("gpt_partition_entry", i); if (ret) goto fail; @@ -786,10 +788,8 @@ static int gpt_setenv(struct blk_desc *desc, const char *name) for (i = 1; i < part_drv->max_entries; i++) { ret = part_drv->get_info(desc, i, &pinfo); - if (ret) { - /* no more entries in table */ - break; - } + if (ret) + continue; if (!strcmp(name, (const char *)pinfo.name)) { /* match found, setup environment variables */ |