From 04e48d4932c95d780fe6ade1f7940007e36abb65 Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Thu, 15 Jun 2023 15:45:25 -0600 Subject: [PATCH] security/tpm/tspi: Clear TPM state if resume fails Per TPM spec and edk2 reference, perform a TPM restart in the case that a TPM resume fails. Change-Id: I444ab3cb12acbff740b5b8d2a9f7bed06392e9ec Signed-off-by: Tim Crawford --- src/security/tpm/tspi/tspi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/security/tpm/tspi/tspi.c b/src/security/tpm/tspi/tspi.c index 3be98a2d86..3dc63fc677 100644 --- a/src/security/tpm/tspi/tspi.c +++ b/src/security/tpm/tspi/tspi.c @@ -71,6 +71,10 @@ static uint32_t tpm_setup_s3_helper(void) default: printk(BIOS_ERR, "TPM: Resume failed (%#x).\n", result); + if (CONFIG(TPM2)) { + printk(BIOS_WARNING, "TPM: Clearing state\n"); + result = tlcl_startup(); + } break; }