mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-22 04:44:46 +00:00
efi_loader: efi_dp_from_lo() should skip VenMedia node
The 'efidebug boot dump' command should not display the VenMedia() device path node preceding the device path of the initial ram disk. By letting efi_dp_from_lo() skip the VenMedia() device path node we can simplify the coding. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
parent
9ad37fe405
commit
db61e70e0d
2 changed files with 6 additions and 15 deletions
|
@ -1233,7 +1233,7 @@ efi_device_path *efi_dp_from_lo(struct efi_load_option *lo,
|
||||||
|
|
||||||
vendor = (struct efi_device_path_vendor *)fp;
|
vendor = (struct efi_device_path_vendor *)fp;
|
||||||
if (!guidcmp(&vendor->guid, guid))
|
if (!guidcmp(&vendor->guid, guid))
|
||||||
return efi_dp_dup(fp);
|
return efi_dp_dup(efi_dp_next(fp));
|
||||||
}
|
}
|
||||||
log_debug("VenMedia(%pUl) not found in %ls\n", &guid, lo->label);
|
log_debug("VenMedia(%pUl) not found in %ls\n", &guid, lo->label);
|
||||||
|
|
||||||
|
|
|
@ -68,10 +68,8 @@ out:
|
||||||
*/
|
*/
|
||||||
struct efi_device_path *efi_get_dp_from_boot(const efi_guid_t guid)
|
struct efi_device_path *efi_get_dp_from_boot(const efi_guid_t guid)
|
||||||
{
|
{
|
||||||
struct efi_device_path *file_path = NULL;
|
|
||||||
struct efi_device_path *tmp = NULL;
|
|
||||||
struct efi_load_option lo;
|
struct efi_load_option lo;
|
||||||
void *var_value = NULL;
|
void *var_value;
|
||||||
efi_uintn_t size;
|
efi_uintn_t size;
|
||||||
efi_status_t ret;
|
efi_status_t ret;
|
||||||
u16 var_name[16];
|
u16 var_name[16];
|
||||||
|
@ -86,18 +84,11 @@ struct efi_device_path *efi_get_dp_from_boot(const efi_guid_t guid)
|
||||||
|
|
||||||
ret = efi_deserialize_load_option(&lo, var_value, &size);
|
ret = efi_deserialize_load_option(&lo, var_value, &size);
|
||||||
if (ret != EFI_SUCCESS)
|
if (ret != EFI_SUCCESS)
|
||||||
goto out;
|
goto err;
|
||||||
|
|
||||||
tmp = efi_dp_from_lo(&lo, &guid);
|
return efi_dp_from_lo(&lo, &guid);
|
||||||
if (!tmp)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
/* efi_dp_dup will just return NULL if efi_dp_next is NULL */
|
err:
|
||||||
file_path = efi_dp_dup(efi_dp_next(tmp));
|
|
||||||
|
|
||||||
out:
|
|
||||||
efi_free_pool(tmp);
|
|
||||||
free(var_value);
|
free(var_value);
|
||||||
|
return NULL;
|
||||||
return file_path;
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue