diff options
author | Michael Brown <mcb30@ipxe.org> | 2014-08-05 20:49:42 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2014-08-05 23:10:33 +0100 |
commit | 7b3cc18462425ab816348103f1bfa2546d248d37 (patch) | |
tree | ed3c38e2d663c51e74d81f7638b2ead8afd4aaaf /src/image/efi_image.c | |
parent | 3b42ed477f21ee3f5851dc2993ea670e9edc10f7 (diff) | |
download | ipxe-7b3cc18462425ab816348103f1bfa2546d248d37.tar.gz |
[efi] Open device path protocol only at point of use
Some EFI 1.10 systems (observed on an Apple iMac) do not allow us to
open the device path protocol with an attribute of
EFI_OPEN_PROTOCOL_BY_DRIVER and so we cannot maintain a safe,
long-lived pointer to the device path. Work around this by instead
opening the device path protocol with an attribute of
EFI_OPEN_PROTOCOL_GET_PROTOCOL whenever we need to use it.
Debugged-by: Curtis Larsen <larsen@dixie.edu>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/image/efi_image.c')
-rw-r--r-- | src/image/efi_image.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/image/efi_image.c b/src/image/efi_image.c index f5ce102f7..613c9d923 100644 --- a/src/image/efi_image.c +++ b/src/image/efi_image.c @@ -167,7 +167,7 @@ static int efi_image_exec ( struct image *image ) { } /* Create device path for image */ - path = efi_image_path ( image, &snpdev->path ); + path = efi_image_path ( image, snpdev->path ); if ( ! path ) { DBGC ( image, "EFIIMAGE %p could not create device path\n", image ); |