Re: [GIT PULL] tpmdd updates for Linux v5.4

From: Jarkko Sakkinen
Date: Mon Dec 09 2019 - 15:17:15 EST


On Fri, Dec 06, 2019 at 04:02:55PM -0700, Jerry Snitselaar wrote:
> On Fri Dec 06 19, Jarkko Sakkinen wrote:
> > On Fri, Nov 29, 2019 at 05:12:53PM -0700, Jerry Snitselaar wrote:
> > > On Sat Nov 30 19, Jarkko Sakkinen wrote:
> > > > On Wed, Nov 27, 2019 at 06:20:55PM -0700, Jerry Snitselaar wrote:
> > > > > There also was that other issue reported on the list about
> > > > > tpm_tis_core_init failing when calling tpm_get_timeouts due to the
> > > > > power gating changes.
> > > >
> > > > Please add a (lore.ko) link for reference to this thread.
> > > >
> > > > /Jarkko
> > > >
> > >
> > > https://lore.kernel.org/linux-integrity/a60dadce-3650-44ce-8785-2f737ab9b993@xxxxxxxxxxxxxxxx/
> >
> > tpm_chip_stop() probably causes the issue. That is why tpm2_probe()
> > works and failure happens after that.
> >
> > tpm_chip_stop() should be called once at the end of the function.
> >
>
> The patch I posted that fixed the issue for him moved the
> tpm_chip_start() from the irq probing section right below there to
> before the tpm_get_timeouts call, but your idea is better.

Yes, the chip can be reserved for the whole course of the function
because it is single user at that point.

> Any thoughts on the irq issue? I need to go back and look at the older
> commits again, but before Stefan's patch enabling the irq flag I'm not
> sure the last time that testing code section in tpm_tis_send was
> actually used. I think prior to that it always just went straight to
> tpm_tis_send_main.

I'd prefer to look it up with the fix for start/stop because it is
a regression on its own and mixed effect is not great way to analyze
anything.

So what we need is a T490S owner to provide klog with the fix applied.

/Jarkko