Message ID | 20170426191808.kkvbg4iynbwysu6k@rhwork (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 4/26/2017 3:18 PM, Jerry Snitselaar wrote: > > Maybe the following? > > > diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c > index bd2128e0b56c..e6e60f9f428c 100644 > --- a/drivers/char/tpm/tpm-interface.c > +++ b/drivers/char/tpm/tpm-interface.c > @@ -453,9 +453,14 @@ ssize_t tpm_transmit_cmd(struct tpm_chip *chip, const void *buf, > return -EFAULT; > > err = be32_to_cpu(header->return_code); > - if (err != 0 && desc) > - dev_err(&chip->dev, "A TPM error (%d) occurred %s\n", err, > - desc); > + if (err != 0 && desc) { > + if (chip->flags & TPM_CHIP_FLAG_TPM2) > + dev_err(&chip->dev, "A TPM error (0x%x) occurred %s\n", err, > + desc); > + else > + dev_err(&chip->dev, "A TPM error (%d) occurred %s\n", err, > + desc); > + } > if (err) > return err; > I think that's a good idea. I have a utility that parses the fields out of the TPM 2.0 error codes and prints the text. It expects hex values, as does the specification. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c index bd2128e0b56c..e6e60f9f428c 100644 --- a/drivers/char/tpm/tpm-interface.c +++ b/drivers/char/tpm/tpm-interface.c @@ -453,9 +453,14 @@ ssize_t tpm_transmit_cmd(struct tpm_chip *chip, const void *buf, return -EFAULT; err = be32_to_cpu(header->return_code); - if (err != 0 && desc) - dev_err(&chip->dev, "A TPM error (%d) occurred %s\n", err, - desc); + if (err != 0 && desc) { + if (chip->flags & TPM_CHIP_FLAG_TPM2) + dev_err(&chip->dev, "A TPM error (0x%x) occurred %s\n", err, + desc); + else + dev_err(&chip->dev, "A TPM error (%d) occurred %s\n", err, + desc); + } if (err) return err;