Re: TPM driver breaks S3 suspend

From: Chris Chiu
Date: Sun Dec 24 2017 - 21:44:17 EST


On Mon, Dec 25, 2017 at 4:33 AM, Jarkko Sakkinen
<jarkko.sakkinen@xxxxxxxxxxxxxxx> wrote:
> 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
Hi Jarkko,

Actually, it's a new Acer machine which I never tried an older kernel. I only
tried versions >= 4.13. The output of "lsmod | grep tpm" is none. I think it's
not built as a module.

Chris