Bug 205409 - TPM bug causes suspend to turn off device
Summary: TPM bug causes suspend to turn off device
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-11-03 22:11 UTC by Christian Bundy
Modified: 2020-03-27 08:25 UTC (History)
3 users (show)

See Also:
Kernel Version: a3fbfae82b4cb3ff9928e29f34c64d0507cad874
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
output of awk -f scripts/ver_linux (2.56 KB, text/plain)
2019-11-03 22:11 UTC, Christian Bundy
Details
.config, arch linux default (232.33 KB, text/plain)
2019-11-03 22:17 UTC, Christian Bundy
Details
git bisect log (2.74 KB, text/plain)
2019-11-04 14:49 UTC, Christian Bundy
Details

Description Christian Bundy 2019-11-03 22:11:58 UTC
Created attachment 285765 [details]
output of awk -f scripts/ver_linux

After finding this bug in Linux 5.1 I've bisected the kernel and have identified that the regression started with commit a3fbfae82b4cb3ff9928e29f34c64d0507cad874.

Reading journalctl before this commit would always show this on boot:

    tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
    tpm tpm0: [Firmware Bug]: TPM interrupt not working, polling instead

Starting with the above commit, instead I saw:

    tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
    tpm tpm0: tpm_try_transmit: send(): error -5
    tpm tpm0: A TPM error (-5) occurred attempting to determine the timeouts
    tpm_tis 00:08: Could not get TPM timeouts and durations

I've tried removing the TPM module by adding blacklist commands /etc/modprobe.d/tpm.conf, but this doesn't seem to work. I can confirm that both `journalctl -b | grep -i tpm` and `cat /proc/modules | grep -i tpm` return no results when the module is disabled, but `systemctl suspend` still shuts down the computer.

Other discussions:

- https://github.com/raphael/linux-samus/issues/217
- https://bbs.archlinux.org/viewtopic.php?pid=1871717
Comment 1 Christian Bundy 2019-11-03 22:17:37 UTC
Created attachment 285767 [details]
.config, arch linux default
Comment 2 Christian Bundy 2019-11-04 14:49:34 UTC
Noticed a similar discussion back in April that I'd like to comment on:

https://lkml.org/lkml/2019/4/8/226

I think these bugs are separate but related; the proposed fix doesn't seem to resolve the problem for me, maybe because I have a TPM firmware bug? More info on my device is available here:

https://www.chromium.org/a/chromium.org/dev/chromium-os/developer-information-for-chrome-os-devices/chromebook-pixel-2015

My firmware should be up-to-date, but FWIW I'm on:

    seabios-hswbdw_book-mrchromebox_20180912.bin

I'll also add my `git bisect log` in case it's helpful.
Comment 3 Christian Bundy 2019-11-04 14:49:56 UTC
Created attachment 285779 [details]
git bisect log
Comment 4 Jan Hoinka 2019-11-06 02:22:13 UTC
I can confirm, and have successfully replicated these findings on a 2015 Chromebook Pixel 2.

Note You need to log in before you can comment on or make changes to this bug.