summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2019-06-06 01:51:50 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2019-06-10 23:06:19 +0200
commitdfa306e44271aadc64cca4a070527ad7d64531fc (patch)
tree03cae90dff6dde9c18161419c026c8f5a933187c /lib
parentdaa3f8472acd44ad90d217f6c25f986bb0f3249c (diff)
efi_loader: SignalEvent for event in signaled state
If an event is already in the signaled state, SignalEvent should not queue the notification function but simply return EFI_SUCCESS. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/efi_loader/efi_boottime.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index c7e2ecbf00..74aa5f9b7c 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -221,6 +221,8 @@ efi_status_t is_valid_tpl(efi_uintn_t tpl)
*/
void efi_signal_event(struct efi_event *event, bool check_tpl)
{
+ if (event->is_signaled)
+ return;
if (event->group) {
struct efi_event *evt;