From f97ff0cd503eb254432848e0f6ec6b6c2a15ce47 Mon Sep 17 00:00:00 2001 From: Joel Kitching Date: Wed, 26 Sep 2018 17:52:54 +0800 Subject: tpm2/tlcl_send_startup: correct TPM2_Startup error logic BUG=b:114018226 TEST=compile coreboot Change-Id: Iffad582d5c19252dde1c9dc97fc7fd145944a3b3 Signed-off-by: Joel Kitching Reviewed-on: https://review.coreboot.org/28749 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Furquan Shaikh --- src/security/tpm/tss/tcg-2.0/tss.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/security') diff --git a/src/security/tpm/tss/tcg-2.0/tss.c b/src/security/tpm/tss/tcg-2.0/tss.c index 7db746f4e1..e6ec57c811 100644 --- a/src/security/tpm/tss/tcg-2.0/tss.c +++ b/src/security/tpm/tss/tcg-2.0/tss.c @@ -61,14 +61,13 @@ static uint32_t tlcl_send_startup(TPM_SU type) startup.startup_type = type; response = tpm_process_command(TPM2_Startup, &startup); - if (response && response->hdr.tpm_code && - (response->hdr.tpm_code != TPM_RC_INITIALIZE)) { - printk(BIOS_INFO, "%s: Startup return code is %x\n", - __func__, response->hdr.tpm_code); - return TPM_E_IOERROR; + if (response && (response->hdr.tpm_code == 0 || + response->hdr.tpm_code == TPM_RC_INITIALIZE)) { + return TPM_SUCCESS; } - return TPM_SUCCESS; - + printk(BIOS_INFO, "%s: Startup return code is %x\n", + __func__, response->hdr.tpm_code); + return TPM_E_IOERROR; } uint32_t tlcl_resume(void) -- cgit v1.2.3