summaryrefslogtreecommitdiffstats
path: root/src/interface
diff options
context:
space:
mode:
authorMichael Brown2025-03-20 15:35:11 +0100
committerMichael Brown2025-03-20 15:39:52 +0100
commit756e3907fdca0a9b4fe18a618eb35895d0208b86 (patch)
treedbc0a8fdc769092153ac43ac46634bd7e3adf584 /src/interface
parent[efi] Show image address range in veto debug messages (diff)
downloadipxe-756e3907fdca0a9b4fe18a618eb35895d0208b86.tar.gz
ipxe-756e3907fdca0a9b4fe18a618eb35895d0208b86.tar.xz
ipxe-756e3907fdca0a9b4fe18a618eb35895d0208b86.zip
[efi] Get veto candidate driver name from image handle
Allow for drivers that do not install the driver binding protocol on the image handle by opening the component name protocol on the driver binding's ImageHandle rather than on the driver handle itself. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/interface')
-rw-r--r--src/interface/efi/efi_veto.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/interface/efi/efi_veto.c b/src/interface/efi/efi_veto.c
index 1b2332041..4cf4e846d 100644
--- a/src/interface/efi/efi_veto.c
+++ b/src/interface/efi/efi_veto.c
@@ -598,10 +598,10 @@ static int efi_veto_find ( EFI_HANDLE driver, const char *manufacturer,
goto err_loaded;
}
- /* Open component name protocol, if present*/
+ /* Open component name protocol, if present */
if ( ( efirc = bs->OpenProtocol (
- driver, &efi_component_name_protocol_guid,
- &wtf.interface, efi_image_handle, driver,
+ image, &efi_component_name_protocol_guid,
+ &wtf.interface, efi_image_handle, image,
EFI_OPEN_PROTOCOL_GET_PROTOCOL ) ) != 0 ) {
/* Ignore failure; is not required to be present */
wtf.interface = NULL;
@@ -641,8 +641,8 @@ static int efi_veto_find ( EFI_HANDLE driver, const char *manufacturer,
/* Close protocols */
if ( wtf.wtf ) {
- bs->CloseProtocol ( driver, &efi_component_name_protocol_guid,
- efi_image_handle, driver );
+ bs->CloseProtocol ( image, &efi_component_name_protocol_guid,
+ efi_image_handle, image );
}
bs->CloseProtocol ( image, &efi_loaded_image_protocol_guid,
efi_image_handle, image );