Before sending a command to attempt the self test, the TPM may need to be started, otherwise the self test returns TPM2_RC_INITIALIZE value causing a log as follows: "tpm tpm0: A TPM error (256) occurred attempting the self test". Signed-off-by: Hermin Anggawijaya <hermin.anggawijaya@xxxxxxxxxxxxxxxxxxx> --- drivers/char/tpm/tpm2-cmd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c index 93545be190a5..0530f3b5f86a 100644 --- a/drivers/char/tpm/tpm2-cmd.c +++ b/drivers/char/tpm/tpm2-cmd.c @@ -737,15 +737,15 @@ int tpm2_auto_startup(struct tpm_chip *chip) if (rc) goto out; + rc = tpm2_startup(chip); + if (rc && rc != TPM2_RC_INITIALIZE) + goto out; + rc = tpm2_do_selftest(chip); if (rc && rc != TPM2_RC_INITIALIZE) goto out; if (rc == TPM2_RC_INITIALIZE) { - rc = tpm2_startup(chip); - if (rc) - goto out; - rc = tpm2_do_selftest(chip); if (rc) goto out; -- 2.43.0