summaryrefslogtreecommitdiffstats
path: root/src/interface/efi/efi_driver.c
diff options
context:
space:
mode:
authorMichael Brown2014-07-31 13:28:26 +0200
committerMichael Brown2014-07-31 13:50:14 +0200
commit16d99cc8ef3b816072e78c2d640e193d0359163f (patch)
treed67c4ea6b805344e877259d15bb922f5d3c2ff85 /src/interface/efi/efi_driver.c
parent[efi] Avoid unnecessarily passing pointers to EFI_HANDLEs (diff)
downloadipxe-16d99cc8ef3b816072e78c2d640e193d0359163f.tar.gz
ipxe-16d99cc8ef3b816072e78c2d640e193d0359163f.tar.xz
ipxe-16d99cc8ef3b816072e78c2d640e193d0359163f.zip
[efi] Dump existing openers when we are unable to open a protocol
Dump the existing openers of a protocol whenever we are unable to open a protocol using attributes of BY_DEVICE, EXCLUSIVE, or BY_CHILD_CONTROLLER. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/interface/efi/efi_driver.c')
-rw-r--r--src/interface/efi/efi_driver.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/interface/efi/efi_driver.c b/src/interface/efi/efi_driver.c
index c67d6d65..715ec38b 100644
--- a/src/interface/efi/efi_driver.c
+++ b/src/interface/efi/efi_driver.c
@@ -137,6 +137,8 @@ int efidev_child_add ( struct efi_device *efidev, EFI_HANDLE device ) {
efidev->device, efi_handle_name ( efidev->device ) );
DBGC ( efidev->device, " %p %s: %s\n", device,
efi_handle_name ( device ), strerror ( rc ) );
+ DBGC_EFI_OPENERS ( efidev->device, efidev->device,
+ &efi_device_path_protocol_guid );
return rc;
}
@@ -264,6 +266,8 @@ efi_driver_start ( EFI_DRIVER_BINDING_PROTOCOL *driver __unused,
DBGC ( device, "EFIDRV %p %s could not open device path: %s\n",
device, efi_handle_name ( device ),
strerror ( rc ) );
+ DBGC_EFI_OPENERS ( device, device,
+ &efi_device_path_protocol_guid );
goto err_no_device_path;
}
efidev->path = devpath.devpath;