Re: TPM chip prevents machine from suspending

Stefan Berger
2011-03-29T15:42:11Z

On 03/29/2011 10:30 AM, Rajiv Andrade wrote:
> On 03/29/2011 09:25 AM, Stefan Berger wrote:
>> On 03/29/2011 08:08 AM, Jeff Layton wrote:
>>>>> Is there some way short of recompiling with CONFIG_TCG_* turned off
>>> to disable the TPM driver at boot time?
>>>
>> As far as I know, 'no'. I'd defer it to the maintainers as to how they would want to solve your particular problem... either by using above work-around, which would be more transparent, or actively having to turn the driver off with a command line parameter.
>>
>> Stefan
>>
> I'm handling a patch from Stefan that solves so, for now,
> I'd recommend to use Stefan's tool.

Well, at least none of the patches I submitted in the series solves this
particular problem.

I am not sure whether this problem should be fixed since it's hopefully
rare. If it was to be fixed, how it should be fixed. Here are a couple
of options:

- declare it a lost case due to broken out-of-spec BIOS -- don't fix it;
machine won't suspend a 2nd time

- send a command to the TPM upon resume and if TPM response returns
with error code 38 set a flag and don't send TPM_SaveState() upon the
next suspend; log this case; the TPM becomes unusable; machine will
suspend a 2nd time

- send a command to the TPM upon resume and if it returns with error
code 38 send TPM_Startup(ST_STATE) -> this masks the BIOS problem; log
this case; TPM stays usable; machine will suspend a 2nd time; a
colleague tells me it may not be 'safe'

Options 2 and 3 would now also run for all the rest of the machines with
a good BIOS...

Stefan