Re: [REGRESSION] Suspend fails because of TPM modules

From: Jiri Kosina
Date: Mon Nov 29 2010 - 10:26:27 EST


On Mon, 29 Nov 2010, Rajiv Andrade wrote:

> > > on my thinkpad x200s (and I have seen reports on different HW as well),
> > > suspend fails when TPM modules are loaded.
> > >
> > > tpm_tis 00:0a: tpm_transmit: tpm_send: error -5
> > > legacy_suspend(): pnp_bus_suspend+0x0/0xa0 returns -5
> > > PM: Device 00:0a failed to suspend: error -5
> > > PM: Some devices failed to suspend
> > >
> > > Once tpm, tpm_bios, tpm_tis and tpm modules are unloaded, suspend/resume
> > > works.
> > >
> > > This is a regression. It definitely worked on this very same hardware on
> > > 2.6.34. Any kernel between .34 and .37 wasn't booted there, so I don't
> > > have any data of that kind.
> > >
> > > I can try bisecting it, but if anyone sees immediately what the culprit
> > > might be, that'd be helpful.
> > I just found out, that if I modprobe tpm_tis module with
> >
> > itpm=1
> >
> > parameter, the problem doesn't happen any more and suspend works fine.
> >
> > This definitely wasn't needed on older kernels though, so I'd consider
> > that still a regression.
> >
> > Also, can't we make the module automatically detect the machines on which
> > to apply the workaround? Let's say, based on DMI?
> >
> There's a patch already submitted that solves this:
> http://marc.info/?l=linux-kernel&m=128769741101534&w=2
> <http://marc.info/?l=linux-kernel&m=128769741101534&w=2>
>
> This side effect (to solve the suspend issue) should increase its urgency I
> think.
> James, any thoughts?

Yeah, Matthew has already pointed me to that patch, thanks. I will be
testing it shortly and providing my Tested-by: eventually.

Any ideas why other kernels were OK (.34) and didn't require this quirk on
my machine at all?

--
Jiri Kosina
SUSE Labs, Novell Inc.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/