diff options
Diffstat (limited to 'src/image/efi_image.c')
-rw-r--r-- | src/image/efi_image.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/image/efi_image.c b/src/image/efi_image.c index 51805c9b..02ff8b2f 100644 --- a/src/image/efi_image.c +++ b/src/image/efi_image.c @@ -209,6 +209,13 @@ static int efi_image_exec ( struct image *image ) { goto err_open_protocol; } + /* Some EFI 1.10 implementations seem not to fill in DeviceHandle */ + if ( loaded.image->DeviceHandle == NULL ) { + DBGC ( image, "EFIIMAGE %p filling in missing DeviceHandle\n", + image ); + loaded.image->DeviceHandle = snpdev->handle; + } + /* Sanity checks */ assert ( loaded.image->ParentHandle == efi_image_handle ); assert ( loaded.image->DeviceHandle == snpdev->handle ); |