Message ID | 20170817165736.12093-1-xypron.glpk@gmx.de |
---|---|
State | Accepted |
Commit | c81883dfce7360148c72922b93bfa16b399ee3ee |
Delegated to: | Alexander Graf |
Headers | show |
diff --git a/include/efi_loader.h b/include/efi_loader.h index 9cd55bf47b..1effced59a 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -33,9 +33,9 @@ const char *__efi_nesting_dec(void); * Exit the u-boot world back to UEFI: */ #define EFI_EXIT(ret) ({ \ - efi_status_t _r = ret; \ + typeof(ret) _r = ret; \ debug("%sEFI: Exit: %s: %u\n", __efi_nesting_dec(), \ - __func__, (u32)(_r & ~EFI_ERROR_MASK)); \ + __func__, (u32)((uintptr_t) _r & ~EFI_ERROR_MASK)); \ assert(__efi_exit_check()); \ _r; \ })
UEFI API functions have different return types. Some return a value of type EFI_STATUS other don't. We therefore should not cast the return value of EFI_EXIT to another type than the expression passed to EFI_EXIT. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> --- include/efi_loader.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)