efi_loader: error code in UninstallProtocolInterface()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Fri, 10 May 2019 18:06:48 +0000 (20:06 +0200)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Sun, 12 May 2019 18:54:22 +0000 (20:54 +0200)
According to the UEFI specification UninstallProtocolInteface() has to
return EFI_NOT_FOUND if the interface is not found.

Correct the return value.

Cf. UEFI SCT II spec (2017), 3.3.2 UninstallProtocolInterface(), 5.1.3.2.4

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_boottime.c

index b8589b9..b583ac6 100644 (file)
@@ -514,7 +514,7 @@ efi_status_t efi_remove_protocol(const efi_handle_t handle,
        if (ret != EFI_SUCCESS)
                return ret;
        if (handler->protocol_interface != protocol_interface)
-               return EFI_INVALID_PARAMETER;
+               return EFI_NOT_FOUND;
        list_del(&handler->link);
        free(handler);
        return EFI_SUCCESS;