• Jeffrey Hugo's avatar
    efi/libstub: Use efi_exit_boot_services() in FDT · ed9cc156
    Jeffrey Hugo authored
    The FDT code directly calls ExitBootServices.  This is inadvisable as the
    UEFI spec details a complex set of errors, race conditions, and API
    interactions that the caller of ExitBootServices must get correct.  The
    FDT code does not handle EFI_INVALID_PARAMETER as required by the spec,
    which causes intermittent boot failures on the Qualcomm Technologies
    QDF2432.  Call the efi_exit_boot_services() helper intead, which handles
    the EFI_INVALID_PARAMETER scenario properly.
    Signed-off-by: default avatarJeffrey Hugo <jhugo@codeaurora.org>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Leif Lindholm <leif.lindholm@linaro.org>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarMatt Fleming <matt@codeblueprint.co.uk>
    ed9cc156
fdt.c 9.96 KB