From 3f1aa97577b75ee2f4f13d2b9fbaf68ce89f42be Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 27 Jul 2017 08:04:16 -0400 Subject: [PATCH] efi_loader: only evaluate EFI_EXIT()'s ret once There are a couple spots doing things like: return EFI_EXIT(some_fxn(...)); which I handn't noticed before. With addition of printing return value in the EFI_EXIT() macro, now the fxn call was getting evaluated twice. Which we didn't really want. Signed-off-by: Rob Clark Signed-off-by: Alexander Graf --- include/efi_loader.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/efi_loader.h b/include/efi_loader.h index f384cbbe77..9700a88d69 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -21,8 +21,9 @@ } while(0) #define EFI_EXIT(ret) ({ \ - debug("EFI: Exit: %s: %u\n", __func__, (u32)((ret) & ~EFI_ERROR_MASK)); \ - efi_exit_func(ret); \ + efi_status_t _r = ret; \ + debug("EFI: Exit: %s: %u\n", __func__, (u32)(_r & ~EFI_ERROR_MASK)); \ + efi_exit_func(_r); \ }) extern struct efi_runtime_services efi_runtime_services; -- 2.25.1