Re: [Regression 4.15-rc2] New messages `tpm tpm0: A TPM error (2314) occurred continue selftest`

From: Jason Gunthorpe
Date: Thu Dec 07 2017 - 13:38:00 EST


On Thu, Dec 07, 2017 at 03:56:07PM +0000, Alexander.Steffen@xxxxxxxxxxxx wrote:

> > If these are intentional, itâd be great
> > to give some hint to the user, what effect this has.
>
> I agree that those error messages in their current form are not that
> helpful for the users. But they are part of the general driver
> architecture, and are also caused by other parts of the code
> (e.g. when using a TPM 1.2 that is deactivated or when the platform
> did not send a startup command). We should find a way to hide (or at
> least mark) those kind of expected errors.

Other parts of the TPM code did supresses 'expected' errors like this,
I'm not sure if it got removed during Jarkko's cleanup though - we
need to put stuff like that back, it should not printk for something
like this.

For this, if we are waiting then it should compute an absolute time
after which it will give up.

Code it like this instead and get rid of the ugly 'duration' scheme.

ktime_t stop = ktime_add_ns(ktime_get(), [timeout in ns]);
do
{
}
while (ktime_before(ktime_get(), stop);

Jason