tpm2: refactor tpm2 return value processing

There is no point in checking and reporting error code in each
function calling tpm_process_command(), let's do it in one place for
all commands.

BRANCH=none
BUG=chrome-os-partner:50645
TEST=Kevin still boots to chrome os

Change-Id: I10f45bd15df293f63401c295c5dce833543c50da
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/358174
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Darren Krahn <dkrahn@chromium.org>
(cherry picked from commit 452973e5f45014162c273e13ad973d38f58404b0)
Reviewed-on: https://chromium-review.googlesource.com/358932
Reviewed-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Bernie Thompson <bhthompson@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
diff --git a/firmware/lib/tpm2_lite/tlcl.c b/firmware/lib/tpm2_lite/tlcl.c
index 8baa304..efd7392 100644
--- a/firmware/lib/tpm2_lite/tlcl.c
+++ b/firmware/lib/tpm2_lite/tlcl.c
@@ -11,11 +11,13 @@
 #include "tpm2_marshaling.h"
 #include "utility.h"
 
-static void *tpm_process_command(TPM_CC command, void *command_body)
+static struct tpm2_response *tpm_process_command(TPM_CC command,
+						 void *command_body)
 {
 	/* Command/response buffer. */
 	static uint8_t cr_buffer[TPM_BUFFER_SIZE];
 	uint32_t out_size, in_size;
+	struct tpm2_response *response;
 
 	out_size = tpm_marshal_command(command, command_body,
 				       cr_buffer, sizeof(cr_buffer));
@@ -28,11 +30,16 @@
 	in_size = sizeof(cr_buffer);
 	if (VbExTpmSendReceive(cr_buffer, out_size,
 			       cr_buffer, &in_size) != TPM_SUCCESS) {
-		VBDEBUG(("tpm transaction failed\n"));
+		VBDEBUG(("tpm transaction failed for %#x\n", command));
 		return NULL;
 	}
 
-	return tpm_unmarshal_response(command, cr_buffer, in_size);
+	response = tpm_unmarshal_response(command, cr_buffer, in_size);
+
+	VBDEBUG(("%s: command %#x, return code %#x\n", __func__, command,
+		 response ? response->hdr.tpm_code : -1));
+
+	return response;
 }
 
 /**
@@ -136,8 +143,6 @@
 	if (!response)
 		return TPM_E_READ_FAILURE;
 
-	VBDEBUG(("%s:%d index %#x return code %x\n",
-		 __FILE__, __LINE__, index, response->hdr.tpm_code));
 	switch (response->hdr.tpm_code) {
 	case 0:
 		break;
@@ -177,8 +182,5 @@
 	if (!response)
 		return TPM_E_WRITE_FAILURE;
 
-	VBDEBUG(("%s:%d return code %x\n", __func__, __LINE__,
-		 response->hdr.tpm_code));
-
 	return TPM_SUCCESS;
 }