diff options
author | Tom Rini <trini@konsulko.com> | 2020-04-16 08:56:37 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-04-16 08:56:37 -0400 |
commit | dba0a6ae1907bbff3ebda06e4874d006f10db1bb (patch) | |
tree | 61d65db08c42dcf0d64d8c084c026d52c9beb3af /drivers/tpm/tpm-uclass.c | |
parent | 66b8669d7709cecedf2e0403bb17b48bab86f644 (diff) | |
parent | 1f4431e46120ef913fc9f83c78a734d910d00b3f (diff) |
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
- Provide serial base clock speed via getinfo() for ACPI SPCR
- Initial ACPI support from DM core by leveraging existing ACPI support
in x86
Diffstat (limited to 'drivers/tpm/tpm-uclass.c')
-rw-r--r-- | drivers/tpm/tpm-uclass.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/tpm/tpm-uclass.c b/drivers/tpm/tpm-uclass.c index 1b11c93194..71d5807006 100644 --- a/drivers/tpm/tpm-uclass.c +++ b/drivers/tpm/tpm-uclass.c @@ -72,7 +72,7 @@ int tpm_xfer(struct udevice *dev, const uint8_t *sendbuf, size_t send_size, struct tpm_ops *ops = tpm_get_ops(dev); ulong start, stop; uint count, ordinal; - int ret, ret2; + int ret, ret2 = 0; if (ops->xfer) return ops->xfer(dev, sendbuf, send_size, recvbuf, recv_size); @@ -120,9 +120,16 @@ int tpm_xfer(struct udevice *dev, const uint8_t *sendbuf, size_t send_size, } } while (ret); - ret2 = ops->cleanup ? ops->cleanup(dev) : 0; + if (ret) { + if (ops->cleanup) { + ret2 = ops->cleanup(dev); + if (ret2) + return log_msg_ret("cleanup", ret2); + } + return log_msg_ret("xfer", ret); + } - return ret2 ? ret2 : ret; + return 0; } UCLASS_DRIVER(tpm) = { |