From 097d6e31c33e53b77d6e168c41836b8ad39832a7 Mon Sep 17 00:00:00 2001 From: Philipp Deppenwiese Date: Wed, 3 May 2017 03:48:51 +0200 Subject: [PATCH] UPSTREAM: 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 BUG=none BRANCH=none TEST=none Change-Id: Idd14621de1685ac965e96ba8b05365b829690e10 Signed-off-by: Patrick Georgi Original-Commit-Id: 35418f9814a64073550eb63a3bcb2e79021347cb Original-Change-Id: I1a06f6a29015708e4bc1de6e6678827c28b84e98 Original-Signed-off-by: Philipp Deppenwiese Original-Reviewed-on: https://review.coreboot.org/19535 Original-Tested-by: build bot (Jenkins) Original-Reviewed-by: Patrick Rudolph Reviewed-on: https://chromium-review.googlesource.com/498321 --- src/drivers/pc80/tpm/romstage.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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;