From 35418f9814a64073550eb63a3bcb2e79021347cb Mon Sep 17 00:00:00 2001 From: Philipp Deppenwiese Date: Wed, 3 May 2017 03:48:51 +0200 Subject: drivers/pc80/tpm: Fix missing tis_close() function tis_close() must be called after tis_open() otherwise the locked locality isn't released and the sessions hangs. Tested=PC Engines APU2 Change-Id: I1a06f6a29015708e4bc1de6e6678827c28b84e98 Signed-off-by: Philipp Deppenwiese Reviewed-on: https://review.coreboot.org/19535 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph --- src/drivers/pc80/tpm/romstage.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/drivers/pc80') diff --git a/src/drivers/pc80/tpm/romstage.c b/src/drivers/pc80/tpm/romstage.c index a257ba1610..5531458726 100644 --- a/src/drivers/pc80/tpm/romstage.c +++ b/src/drivers/pc80/tpm/romstage.c @@ -215,7 +215,6 @@ void init_tpm(int s3resume) if (tis_open()) return; - if (s3resume) { /* S3 Resume */ printk(BIOS_SPEW, "TPM: Resume\n"); @@ -226,6 +225,7 @@ void init_tpm(int s3resume) * in S3, so it's already initialized. */ printk(BIOS_DEBUG, "TPM: Already initialized.\n"); + tis_close(); return; } } else { @@ -234,6 +234,8 @@ void init_tpm(int s3resume) response, sizeof(response)); } + tis_close(); + if (result == TPM_SUCCESS) { printk(BIOS_SPEW, "TPM: OK.\n"); return; -- cgit v1.2.3