From: Heinrich Schuchardt Date: Sat, 24 Mar 2018 17:40:21 +0000 (+0100) Subject: efi_loader: RestoreTPL should execute queued events X-Git-Tag: v2018.05-rc2~45^2~24 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0f7fcc72565ce411941a12de0fb0ea5538a17cd0;p=u-boot efi_loader: RestoreTPL should execute queued events When the TPL is lowered queued events may become eligible for execution. iPXE uses the following pattern to request event execution: bs->RestoreTPL ( TPL_APPLICATION ); bs->RaiseTPL ( TPL_CALLBACK ); Signed-off-by: Heinrich Schuchardt Signed-off-by: Alexander Graf --- diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c index 1ff0568d47..fd35ffa359 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -278,6 +278,11 @@ static void EFIAPI efi_restore_tpl(efi_uintn_t old_tpl) if (efi_tpl > TPL_HIGH_LEVEL) efi_tpl = TPL_HIGH_LEVEL; + /* + * Lowering the TPL may have made queued events eligible for execution. + */ + efi_timer_check(); + EFI_EXIT(EFI_SUCCESS); }