Re: TPM driver breaks S3 suspend

From: Jarkko Sakkinen
Date: Sun Dec 24 2017 - 15:34:07 EST


On Thu, Dec 21, 2017 at 04:04:56PM +0800, Chris Chiu wrote:
> Hi,
> We have a desktop which has S3 suspend (to RAM) problem due to
> error messages as follows.
> [ 198.908282] tpm tpm0: Error (38) sending savestate before suspend
> [ 198.908289] __pnp_bus_suspend(): tpm_pm_suspend+0x0/0x160 returns 38
> [ 198.908293] dpm_run_callback(): pnp_bus_suspend+0x0/0x20 returns 38
> [ 198.908298] PM: Device 00:0b failed to suspend: error 38
>
> However, the first suspend after boot is working although it still
> shows an interesting message during resume.
> [ 155.789945] tpm tpm0: A TPM error (38) occurred continue selftest
>
> The error code 38 in definition is TPM_ERR_INVALID_POSTINIT. I
> found some explanations which said this error code means that this
> command was received in the wrong sequence relative to a TPM_Startup
> command. Don't really know what happens here and how should I deal
> with this? Any suggestions? Please let me know what else information
> should I provide. Thanks
>
> Chris

The sequences for initializing TPM 1.x devices has been fairly static
for a long time. Has this occured after a kernel update? Is there a
kernel version where it used to work and a version where it doesn't?
Thanks.

/Jarkko