From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Date: Wed, 26 Jul 2017 15:16:18 -0400 Subject: [U-Boot] [PATCH] efi_loader: only evaluate EFI_EXIT()'s ret once Message-ID: <20170726191618.11283-1-robdclark@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 --- I can rebase this one to come before the other EFI_ENTER/EFI_EXIT patches that I sent earlier today if needed. 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 b4e9a80034..1522800764 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -32,10 +32,11 @@ const char *__efi_nesting_level(int delta); * Exit the u-boot world back to UEFI: */ #define EFI_EXIT(ret) ({ \ + efi_status_t _r = ret; \ debug("%sEFI: Exit: %s: %u\n", __efi_nesting_level(-1), \ - __func__, (u32)((ret) & ~EFI_ERROR_MASK)); \ + __func__, (u32)(_r & ~EFI_ERROR_MASK)); \ assert(__efi_check_nesting(-1)); \ - efi_exit_func(ret); \ + efi_exit_func(_r); \ }) /* -- 2.13.0