Bug 772272

Summary: Suspend fails because of tpm timeout
Product: [Fedora] Fedora Reporter: Ralf Spenneberg <ralf>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 16CC: gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-09-04 15:09:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Ralf Spenneberg 2012-01-06 16:33:13 UTC
Description of problem:
Suspend does not work on Dell e4200 laptop
This is a e4200 laptop with ssd-harddisk. The laptop was preupgraded from f14 to f16. Suspend worked fine in f14 but does not work in f16.

Version-Release number of selected component (if applicable):
pm-utils-1.4.1-12.fc16.x86_64
kernel-3.1.6-1.fc16.x86_64

How reproducible:


Steps to Reproduce:
1. Do pm-suspend
2. Wait. The screen turns black and then activates again and asks for the password
  
Actual results: The machine tries to suspend but immediately wakes up again.


Expected results:
Suspend.

Log-Entries in /var/log/pm-suspend.log:
...
/usr/lib64/pm-utils/sleep.d/95packagekit suspend suspend: success.
Running hook /usr/lib64/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend:
Kernel modesetting video driver detected, not using quirks.

/usr/lib64/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend: success.
Running hook /usr/lib64/pm-utils/sleep.d/99video suspend suspend:
kernel.acpi_video_flags = 0

/usr/lib64/pm-utils/sleep.d/99video suspend suspend: success.
Fri Jan  6 17:14:22 CET 2012: performing suspend
/usr/lib64/pm-utils/pm-functions: line 302: echo: write error: Timer expired
Fri Jan  6 17:14:25 CET 2012: Awake.
Fri Jan  6 17:14:25 CET 2012: Running hooks for resume
Running hook /usr/lib64/pm-utils/sleep.d/99video resume suspend:

/usr/lib64/pm-utils/sleep.d/99video resume suspend: success.
Running hook /usr/lib64/pm-utils/sleep.d/98video-quirk-db-handler resume suspend:
...

Kernel dmesg:
[35961.163798] PM: Syncing filesystems ... done.
[35961.191228] PM: Preparing system for mem sleep
[35961.500872] Freezing user space processes ... (elapsed 0.01 seconds) done.
[35961.512137] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[35961.523131] PM: Entering mem sleep
[35961.523161] Suspending console(s) (use no_console_suspend to debug)
[35961.524124] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[35961.524259] sd 0:0:0:0: [sda] Stopping disk
[35963.538223] tpm_tis 00:0b: tpm_transmit: tpm_send: error -62
[35963.538235] legacy_suspend(): pnp_bus_suspend+0x0/0xa0 returns -62
[35963.538239] PM: Device 00:0b failed to suspend: error -62
[35963.538243] PM: Some devices failed to suspend
[35963.538660] sd 0:0:0:0: [sda] Starting disk
[35963.539769] Extended CMOS year: 2000
[35963.975635] PM: resume of devices complete after 437.386 msecs
[35963.975890] PM: Finishing wakeup.
[35963.975892] Restarting tasks ... done.
[35964.066023] video LNXVIDEO:00: Restoring backlight state

This looks similar to Bug 644842.

During boot the following lines are logged:

[    5.212025] tpm_tis 00:0b: tpm_transmit: tpm_send: error -62
[    7.216025] tpm_tis 00:0b: tpm_transmit: tpm_send: error -62
[    9.220025] tpm_tis 00:0b: tpm_transmit: tpm_send: error -62

Comment 1 Ralf Spenneberg 2012-01-06 16:55:48 UTC
Funny thing: the bios of the e4200 offers three different options for the tpm module:
a) disabled
b) enabled but deactivated
c) enabled and activated

I had the laptop configured to state b) and the above errors were generated. Apparently the tpm-utilities and the kernel cannot cope with a visable but not available tpm module (f14 could by the way).

I now have the laptop configured to state c) and everything works. The tpm messages during the kernel boot are gone too:

[    1.214843] tpm_tis 00:0b: 1.2 TPM (device-id 0x2001, rev-id 48)
[    3.245103] tpm_tis 00:0b: Adjusting TPM timeout parameters.


I still leave as an open bug, because the kernel should be able to cope with state b) too.

It works for me now.

Comment 2 Dave Jones 2012-03-22 17:04:33 UTC
[mass update]
kernel-3.3.0-4.fc16 has been pushed to the Fedora 16 stable repository.
Please retest with this update.

Comment 3 Dave Jones 2012-03-22 17:07:42 UTC
[mass update]
kernel-3.3.0-4.fc16 has been pushed to the Fedora 16 stable repository.
Please retest with this update.

Comment 4 Dave Jones 2012-03-22 17:18:37 UTC
[mass update]
kernel-3.3.0-4.fc16 has been pushed to the Fedora 16 stable repository.
Please retest with this update.