efi_loader: simplify efi_set_load_options()
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fri, 7 Oct 2022 14:21:28 +0000 (16:21 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Mon, 10 Oct 2022 14:34:26 +0000 (16:34 +0200)
* Replace the OpenProtocol() call by efi_search_protocol().
* Remove the CloseProtocol() call.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
lib/efi_loader/efi_load_options.c

index 71454f0..3cfddee 100644 (file)
@@ -27,23 +27,18 @@ efi_status_t efi_set_load_options(efi_handle_t handle,
                                  void *load_options)
 {
        struct efi_loaded_image *loaded_image_info;
+       struct efi_handler *handler;
        efi_status_t ret;
 
-       ret = EFI_CALL(systab.boottime->open_protocol(
-                                       handle,
-                                       &efi_guid_loaded_image,
-                                       (void **)&loaded_image_info,
-                                       efi_root, NULL,
-                                       EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL));
+       ret = efi_search_protocol(handle, &efi_guid_loaded_image, &handler);
+       loaded_image_info = handler->protocol_interface;
        if (ret != EFI_SUCCESS)
                return EFI_INVALID_PARAMETER;
 
        loaded_image_info->load_options = load_options;
        loaded_image_info->load_options_size = load_options_size;
 
-       return EFI_CALL(systab.boottime->close_protocol(handle,
-                                                       &efi_guid_loaded_image,
-                                                       efi_root, NULL));
+       return EFI_SUCCESS;
 }
 
 /**