From: Jonathan Nieder <jrnieder@gmail.com>
To: Stefan Berger <stefanb@linux.vnet.ibm.com>
Cc: John Hughes <john@atlantech.com>,
Jeff Layton <jlayton@poochiereds.net>,
linux-kernel@vger.kernel.org, tpmdd-devel@lists.sourceforge.net,
Rajiv Andrade <srajiv@linux.vnet.ibm.com>,
Eric Paris <eparis@redhat.com>
Subject: [Sony Vaio TX3] TPM chip prevents machine from suspending a second time
Date: Sat, 21 Jan 2012 11:01:57 -0600 [thread overview]
Message-ID: <20120121170157.GA18053@burratino> (raw)
In-Reply-To: <4D91157F.2020502@linux.vnet.ibm.com>
Hi Stefan et al,
John Hughes wrote[1]:
> On a sony vaio tx3 when tpm_tis is loaded suspend only works once.
[...]
> dmesg shows
>
> [ 1859.244142] legacy_suspend(): pnp_bus_suspend+0x0/0x57 returns 38
> [ 1859.244150] PM: Device 00:07 failed to suspend: error 38
> [ 1859.456685] PM: Some devices failed to suspend
Stefan Berger wrote, in response to a similar report[2]:
> Ok, so this error code means TPM_INVALID_POSTINIT (not a posix
> code) and means that this command was received in the wrong sequence
> relative to a TPM_Startup command. Well, what's supposed to be
> happening is this:
>
> When the machines (S3) suspends then the OS needs to send a
> TPM_SaveState() to the TPM. This is done by the Linux driver. Once
> the VM resumes, the BIOS is supposed to send a TPM_Startup(ST_STATE)
> to the TPM.
>
> Now the fun starts when a BIOS isn't doing that (even though the
> spec says it's supposed to)
[...]
> I could try
> to send you a small tool that you would have to run from user space
> upon resume so that we can see that this error goes away. If that's
> verified we could subsequently write a patch for the TPM driver to
> also send the TPM_Startup(ST_STATE) to the TPM, which then in the
> case of most BIOSes would be the 2nd time that the TPM receives such
> a command. I think TPMs should be able to digest this 2nd
> TPM_Startup() well, but I'd have to check -- but really we would
> ill-fix it just because of one (possibly) buggy BIOS.
The tool is at [3]. John verified that the tool gets suspend working
reliably on his machine.
[...]
> Well, we now could (once) probe the TPM after the resume and send a test
> command to it and see whether it returns error code 38 and if so send
> the TPM_Startup() from the driver -- as a work-around for your broken BIOS.
Versions tested and found to exhibit the problem:
- Debian 2.6.35~rc6-1~experimental.1 (close to v2.6.35-rc6)
- Debian 2.6.36-1~experimental.1 (close to v2.6.36)
- Debian 2.6.37~rc5-1~experimental.3 (close to v2.6.37-rc5)
- Debian 2.6.37-1 (close to v2.6.37)
- v3.2-rc2 + Vaio keyboard fixes
- Debian 3.2.1-1 (close to v3.2.1)
- v3.3-rc1 + Vaio keyboard fixes
Known problem? Any hints for getting this to work out of the box? (If
there's no generic fix, maybe it would be possible to use a quirks
table of some kind?)
Thanks,
Jonathan
[1] http://bugs.debian.org/591031
[2] http://thread.gmane.org/gmane.linux.kernel/1119143/focus=1119476
[3] http://thread.gmane.org/gmane.linux.kernel/1119143/focus=1119495
next prev parent reply other threads:[~2012-01-21 17:02 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-28 14:08 TPM chip prevents machine from suspending Jeff Layton
2011-03-28 17:25 ` Stefan Berger
2011-03-28 18:12 ` Jeff Layton
2011-03-28 19:45 ` Jeff Layton
2011-03-28 19:57 ` Sisir Koppaka
2011-03-28 20:16 ` Jeff Layton
2011-03-28 20:32 ` Sisir Koppaka
2011-03-28 23:10 ` Stefan Berger
2011-03-29 0:19 ` Stefan Berger
2011-03-29 12:08 ` Jeff Layton
2011-03-29 12:25 ` Stefan Berger
2011-03-29 12:30 ` Jeff Layton
2011-03-29 14:30 ` Rajiv Andrade
2011-03-29 15:03 ` Stefan Berger
2011-03-30 19:43 ` [tpmdd-devel] " Eric Paris
2012-01-21 17:01 ` Jonathan Nieder [this message]
2012-01-23 20:52 ` [Sony Vaio TX3] TPM chip prevents machine from suspending a second time Stefan Berger
2012-01-29 10:49 ` John Hughes
2012-01-29 18:22 ` Stefan Berger
2012-01-30 9:10 ` John Hughes
2012-02-26 15:44 ` Jonathan Nieder
2012-05-03 15:34 ` John Hughes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120121170157.GA18053@burratino \
--to=jrnieder@gmail.com \
--cc=eparis@redhat.com \
--cc=jlayton@poochiereds.net \
--cc=john@atlantech.com \
--cc=linux-kernel@vger.kernel.org \
--cc=srajiv@linux.vnet.ibm.com \
--cc=stefanb@linux.vnet.ibm.com \
--cc=tpmdd-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.