tpm2: fix tpm_write() error reporting

The code misses the cases when a response was received but the command
failed. This patch fixes the problem.

BRANCH=none
BUG=chrome-os-partner:50645
TEST=none

Change-Id: I914ab6509d3ab2082152652205802201a6637fcc
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/358096
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Vadim Bendebury 2016-07-05 22:30:16 -07:00 committed by chrome-bot
parent 347ff17b97
commit 8f4d6185e1

View file

@ -246,12 +246,12 @@ uint32_t tlcl_write(uint32_t index, const void *data, uint32_t length)
response = tpm_process_command(TPM2_NV_Write, &nv_writec);
/* Need to map tpm error codes into internal values. */
if (!response)
return TPM_E_WRITE_FAILURE;
printk(BIOS_INFO, "%s: response is %x\n",
__func__, response ? response->hdr.tpm_code : -1);
printk(BIOS_INFO, "%s:%d return code %x\n", __func__, __LINE__,
response->hdr.tpm_code);
/* Need to map tpm error codes into internal values. */
if (!response || response->hdr.tpm_code)
return TPM_E_WRITE_FAILURE;
return TPM_SUCCESS;
}