On 9/29/26 18:25, Jarkko Sakkinen wrote:
There's a commit with title "tpm: Call cmd_ready/go_idle for each command
transmission", which is strongest contender to make a difference to this
long running issue.

I.e. I think it will improve firmware behavior given full release of
resources per TPM command.

I'm including it to v7.4 pull request.

Br, Jarkko

Hi Jarkko,

I have to break some bad news.

Testing Mr. Alves’s patch first led to a failure at the 60-hour mark.

Mario’s patch—"tpm: Call cmd_ready/go_idle for each command
transmission"—failed at 55 hours.

To give additional details: with Alves’ patch, I ported it forward and
tested it on kernel 7.2.7.

With Mario’s patch, I downloaded the 7.3-rc5 mainline tree from Linus,
git-grabbed your tree to get the TPM patches, and then cherry-picked
Mario’s commit. It was applied and built without issue. If being cherry-
picked onto 7.3-rc5 left it deficient in some way, please let me know.

I then proceeded to run 7.2.8 with my new USB3 debug cable.

I initiated an S3 sleep after a fresh power-on to get a baseline. I have
complete logs saved, but I’ll simplify here to keep the message short
and succinct.

1. systemd-logind[483]: Lid closed.
2. rtkit-daemon[648]: Successfully demoted thread 1001 of process 993.
3. systemd-logind[483]: The system will suspend now!
4. Kernel enters device suspend phase | driver callbacks | many lines of
confirmation as drivers and hardware transitioned

45 hours later, I tested the next S3 sleep and the following occurred:

1. systemd-logind[483]: Lid closed.
2. rtkit-daemon[648]: Successfully demoted thread 1001 of process 993.
3. Deadlock | USB3 DbC link drops immediately

I don’t know what all can be captured through this debug cable, and this
next thought might be nonsensical as a result. Would you benefit from me
installing Windows and snooping on what the Microsoft TPM driver is
doing to prevent this deadlock?

Thank you for your time and patience,

Sean

Reply via email to