lkml.org 
[lkml]   [2020]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v10 5/8] tpm: Handle an exception for TPM Firmware Update mode.
    Date
    From: Amir Mizinski <amirmizi6@gmail.com>

    An extra precaution for TPM Firmware Update Mode.
    For example if TPM power was cut while in Firmware update, platform
    should ignore "selftest" failure and skip TPM initialization sequence.

    Suggested-by: Benoit Houyere <benoit.houyere@st.com>
    Signed-off-by: Amir Mizinski <amirmizi6@gmail.com>
    ---
    drivers/char/tpm/tpm2-cmd.c | 4 ++++
    include/linux/tpm.h | 1 +
    2 files changed, 5 insertions(+)

    diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
    index 7603295..6e42946 100644
    --- a/drivers/char/tpm/tpm2-cmd.c
    +++ b/drivers/char/tpm/tpm2-cmd.c
    @@ -727,6 +727,10 @@ int tpm2_auto_startup(struct tpm_chip *chip)
    goto out;

    rc = tpm2_do_selftest(chip);
    +
    + if (rc == TPM2_RC_UPGRADE || rc == TPM2_RC_COMMAND_CODE)
    + return 0;
    +
    if (rc && rc != TPM2_RC_INITIALIZE)
    goto out;

    diff --git a/include/linux/tpm.h b/include/linux/tpm.h
    index 03e9b18..5a2e031 100644
    --- a/include/linux/tpm.h
    +++ b/include/linux/tpm.h
    @@ -199,6 +199,7 @@ enum tpm2_return_codes {
    TPM2_RC_INITIALIZE = 0x0100, /* RC_VER1 */
    TPM2_RC_FAILURE = 0x0101,
    TPM2_RC_DISABLED = 0x0120,
    + TPM2_RC_UPGRADE = 0x012D,
    TPM2_RC_COMMAND_CODE = 0x0143,
    TPM2_RC_TESTING = 0x090A, /* RC_WARN */
    TPM2_RC_REFERENCE_H0 = 0x0910,
    --
    2.7.4
    \
     
     \ /
      Last update: 2020-06-04 15:49    [W:7.161 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site