u-boot/lib/efi_loader
Alexander Graf f9cfad1a61 efi_loader: Fix network DP with DM_ETH
When CONFIG_DM_ETH is set, we assemble the device path properly with a
full device hierarchy. Our helper function dp_fill() even put the MAC
node itself in it for us.

However, for non-DM compatibility we also have code in that added the
MAC node manually. That code now runs on top of the existing MAC node:

  Handle 0x3db2f6b0
    /HardwareVendor(e61d73b9-a384-4acc-aeab-82e828f3628b)[0: ]
    /USBClass(0,0,9,0,0)/USBClass(424,9514,9,0,2)/MacAddr(b8:27:eb:e1:81:47,1)
    /MacAddr(b8:27:eb:e1:81:47,57)/EndEntire

We obviously don't need the additional node and in fact, grub chokes on
it and fails to match the DP against the ethernet device node. So this
patch moves the additional MAC node into the non-DM code path:

  Handle 0x3db3fde0
    /HardwareVendor(e61d73b9-a384-4acc-aeab-82e828f3628b)[0: ]
    /USBClass(0,0,9,0,0)/USBClass(424,9514,9,0,2)/MacAddr(b8:27:eb:e1:81:47,1)
    /EndEntire

While at it, we also mark the non-DM MAC node as ethernet.

Fixes: b66c60dde9 ("efi_loader: add device-path utils")
Signed-off-by: Alexander Graf <agraf@suse.de>
2018-04-04 11:09:18 +02:00
..
.gitignore lib: gitignore *.elf and *.so generated by efi_loader 2017-01-09 10:30:24 -05:00
efi_bootmgr.c efi_loader: consistently use %pD to print device paths 2018-01-28 21:37:13 +01:00
efi_boottime.c efi_loader: RestoreTPL should execute queued events 2018-04-04 11:04:00 +02:00
efi_console.c efi_loader: implement event groups 2018-04-04 11:00:07 +02:00
efi_device_path.c efi_loader: Fix network DP with DM_ETH 2018-04-04 11:09:18 +02:00
efi_device_path_to_text.c efi_loader: text output for device path end node 2018-01-22 23:09:12 +01:00
efi_device_path_utilities.c efi_loader: Initial EFI_DEVICE_PATH_UTILITIES_PROTOCOL 2018-04-04 11:00:06 +02:00
efi_disk.c efi_loader: correct efi_disk_register 2018-02-10 00:25:49 +01:00
efi_file.c efi_loader: add file/filesys support 2017-09-20 10:43:54 +02:00
efi_gop.c efi_loader: Optimize GOP more 2018-04-04 11:08:59 +02:00
efi_image_loader.c efi_loader: fix building crt0 on arm 2018-02-10 00:24:00 +01:00
efi_memory.c efi: Correct header order in efi_memory 2018-04-04 11:00:07 +02:00
efi_net.c efi_loader: use TPL_NOTIFY for network timer event 2018-04-04 11:03:37 +02:00
efi_runtime.c efi_loader: Fix return value for efi_add_runtime_mmio 2018-04-04 11:09:06 +02:00
efi_smbios.c efi_loader: efi_smbios_register should have a return value 2018-04-04 11:00:06 +02:00
efi_variable.c efi_loader: print GUIDs 2017-09-20 11:10:42 +02:00
efi_watchdog.c efi_loader: implement event groups 2018-04-04 11:00:07 +02:00
helloworld.c efi_loader: show UEFI revision in helloworld 2018-04-04 11:00:07 +02:00
Kconfig Move most CONFIG_HAVE_BLOCK_DEVICE to Kconfig 2018-02-08 19:09:03 -05:00
Makefile efi_loader: Initial EFI_DEVICE_PATH_UTILITIES_PROTOCOL 2018-04-04 11:00:06 +02:00