Skip to content

Commit af402ee

Browse files
StMaHajarkkojs
authored andcommitted
tpm: Add field upgrade mode support for Infineon TPM2 modules
TPM2_GetCapability with a capability that has the property type value of TPM_PT_TOTAL_COMMANDS returns a zero length list, when an Infineon TPM2 is in field upgrade mode. Since an Infineon TPM2.0 in field upgrade mode returns RC_SUCCESS on TPM2_Startup, the field upgrade mode has to be detected by TPM2_GetCapability. Signed-off-by: Stefan Mahnke-Hartmann <stefan.mahnke-hartmann@infineon.com> Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
1 parent e57b252 commit af402ee

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

drivers/char/tpm/tpm2-cmd.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -754,7 +754,11 @@ int tpm2_auto_startup(struct tpm_chip *chip)
754754
rc = tpm2_get_cc_attrs_tbl(chip);
755755

756756
out:
757-
if (rc == TPM2_RC_UPGRADE) {
757+
/*
758+
* Infineon TPM in field upgrade mode will return no data for the number
759+
* of supported commands.
760+
*/
761+
if (rc == TPM2_RC_UPGRADE || rc == -ENODATA) {
758762
dev_info(&chip->dev, "TPM in field upgrade mode, requires firmware upgrade\n");
759763
chip->flags |= TPM_CHIP_FLAG_FIRMWARE_UPGRADE;
760764
rc = 0;

0 commit comments

Comments
 (0)