diff options
Diffstat (limited to 'common/tpm_registers.c')
-rw-r--r-- | common/tpm_registers.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/common/tpm_registers.c b/common/tpm_registers.c index 959ca1c814..a8a3546109 100644 --- a/common/tpm_registers.c +++ b/common/tpm_registers.c @@ -630,7 +630,8 @@ size_t tpm_get_burst_size(void) (code & TPM_CC_VENDOR_BIT_MASK)) static void call_extension_command(struct tpm_cmd_header *tpmh, - size_t *total_size) + size_t *total_size, + uint32_t flags) { size_t command_size = be32toh(tpmh->size); uint32_t rc; @@ -653,7 +654,7 @@ static void call_extension_command(struct tpm_cmd_header *tpmh, command_size - sizeof(struct tpm_cmd_header), total_size, - 0); + flags); /* Add the header size back. */ *total_size += sizeof(struct tpm_cmd_header); tpmh->size = htobe32(*total_size); @@ -995,7 +996,9 @@ void tpm_task(void) #ifdef CONFIG_EXTENSION_COMMAND if (IS_CUSTOM_CODE(command_code)) { response_size = buffer_size; - call_extension_command(tpmh, &response_size); + call_extension_command(tpmh, &response_size, + alt_if_command ? + VENDOR_CMD_FROM_USB : 0); } else #endif { |