Re: [REGRESSION] suspend to ram fails in 6.2-rc1 due to tpm errors

From: Johannes Altmanninger
Date: Wed Jan 04 2023 - 04:12:13 EST


On Wed, Dec 28, 2022 at 09:22:56PM +0100, Vlastimil Babka wrote:
> Ugh, while the problem [1] was fixed in 6.1, it's now happening again on
> the T460 with 6.2-rc1. Except I didn't see any oops message or
> "tpm_try_transmit" error this time. The first indication of a problem is
> this during a resume from suspend to ram:
>
> tpm tpm0: A TPM error (28) occurred continue selftest
>
> and then periodically
>
> tpm tpm0: A TPM error (28) occurred attempting get random
>
> and further suspend to ram attempts fail:
>
> tpm tpm0: Error (28) sending savestate before suspend
> tpm_tis 00:08: PM: __pnp_bus_suspend(): tpm_pm_suspend+0x0/0x80 returns 28
> tpm_tis 00:08: PM: dpm_run_callback(): pnp_bus_suspend+0x0/0x10 returns 28
> tpm_tis 00:08: PM: failed to suspend: error 28
> PM: Some devices failed to suspend, or early wake event detected
>
> Unfortunately I doubt I would be able to bisect it as any "good" kernel might
> be a false negative.
>
> [1] https://lore.kernel.org/all/c5ba47ef-393f-1fba-30bd-1230d1b4b592@xxxxxxx/
>
> #regzbot introduced: v6.1..v6.2-rc1

I see almost exactly the same symptoms with v6.1.1 on a T460s.
No "tpm_try_transmit" etc. The only difference is that I get 0x20 instead
of 0x10 (that's probably immaterial).

Also, I have this line immediately before the tpm error.

psmouse serio2: Failed to disable mouse on synaptics-pt/serio0
tpm tpm0: Error (28) sending savestate before suspend
[...]

In the past I have had similar problems on another Thinkpad where a touchpad
driver prevented suspend. Unloading the module (I think psmouse, not sure)
helped. I haven't tried this here since it only happens sometimes.