From: Rob Clark Date: Thu, 27 Jul 2017 12:04:16 +0000 (-0400) Subject: efi_loader: only evaluate EFI_EXIT()'s ret once X-Git-Tag: v2017.09-rc1~13^2~3 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3f1aa97577b75ee2f4f13d2b9fbaf68ce89f42be;p=oweals%2Fu-boot.git 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 --- 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;