[efi] Return only registered EFI devices from efidev_parent()
authorMichael Brown <mcb30@ipxe.org>
Mon, 15 Jul 2019 11:49:47 +0000 (12:49 +0100)
committerMichael Brown <mcb30@ipxe.org>
Mon, 15 Jul 2019 11:49:47 +0000 (12:49 +0100)
commita385e2376859dc0195ec77aeab220876b201c16b
tree5c654730ac61146037965e752ef7092a0b76d89f
parentc2226b3d1a4d9fc1daeb8dc6b9034d1fb46c1308
[efi] Return only registered EFI devices from efidev_parent()

efidev_parent() currently assumes that any device with BUS_TYPE_EFI is
part of a struct efi_device.  This assumption is not valid, since the
code in efi_device_info() may also create a device with BUS_TYPE_EFI.

Fix by searching through the list of registered EFI devices when
looking for a match, instead of relying on the bus type value.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/interface/efi/efi_driver.c