efi_loader: simplify efi_uninstall_protocol()

The call to efi_search_obj() is redundant as the function is called in
efi_search_protocol() too.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Heinrich Schuchardt 2023-06-18 09:00:45 +02:00
parent 5dcfc99b2b
commit 6287021ff9

View file

@ -1357,18 +1357,11 @@ static efi_status_t efi_uninstall_protocol
(efi_handle_t handle, const efi_guid_t *protocol,
void *protocol_interface)
{
struct efi_object *efiobj;
struct efi_handler *handler;
struct efi_open_protocol_info_item *item;
struct efi_open_protocol_info_item *pos;
efi_status_t r;
/* Check handle */
efiobj = efi_search_obj(handle);
if (!efiobj) {
r = EFI_INVALID_PARAMETER;
goto out;
}
/* Find the protocol on the handle */
r = efi_search_protocol(handle, protocol, &handler);
if (r != EFI_SUCCESS)
@ -1376,7 +1369,7 @@ static efi_status_t efi_uninstall_protocol
if (handler->protocol_interface != protocol_interface)
return EFI_NOT_FOUND;
/* Disconnect controllers */
r = efi_disconnect_all_drivers(efiobj, protocol, NULL);
r = efi_disconnect_all_drivers(handle, protocol, NULL);
if (r != EFI_SUCCESS) {
r = EFI_ACCESS_DENIED;
goto out;