david/ipxe
Archived
1
0

[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>
This commit is contained in:
Michael Brown 2014-07-31 12:28:26 +01:00
parent 4a480f1d15
commit 16d99cc8ef
4 changed files with 8 additions and 0 deletions

View File

@ -407,6 +407,8 @@ int snpnet_start ( struct efi_device *efidev ) {
rc = -EEFI ( efirc );
DBGC ( device, "SNP %p %s cannot open SNP protocol: %s\n",
device, efi_handle_name ( device ), strerror ( rc ) );
DBGC_EFI_OPENERS ( device, device,
&efi_simple_network_protocol_guid );
goto err_open_protocol;
}

View File

@ -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;

View File

@ -631,6 +631,7 @@ int efi_file_install ( EFI_HANDLE handle ) {
rc = -EEFI ( efirc );
DBGC ( handle, "Could not open disk I/O protocol: %s\n",
strerror ( rc ) );
DBGC_EFI_OPENERS ( handle, handle, &efi_disk_io_protocol_guid );
goto err_open;
}
assert ( diskio.diskio == &efi_disk_io_protocol );

View File

@ -292,6 +292,7 @@ static int efipci_start ( struct efi_device *efidev ) {
pci ) ) != 0 ) {
DBGC ( device, "EFIPCI %p %s could not open PCI device: %s\n",
device, efi_handle_name ( device ), strerror ( rc ) );
DBGC_EFI_OPENERS ( device, device, &efi_pci_io_protocol_guid );
goto err_open;
}