Re: [tpmdd-devel] [PATCH] TPM: Work around buggy TPMs that blockduring continue self test

From: Kent Yoder
Date: Fri Feb 01 2013 - 17:38:48 EST


On Mon, Jan 28, 2013 at 8:11 AM, Kent Yoder <key@xxxxxxxxxxxxxxxxxx> wrote:
> On Fri, Jan 25, 2013 at 01:25:38PM -0700, Jason Gunthorpe wrote:
>> On Tue, Jan 22, 2013 at 05:29:23PM -0600, Kent Yoder wrote:
>> > Hi Jason,
>> >
>> > On Wed, Nov 21, 2012 at 3:15 PM, Jason Gunthorpe
>> > <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> wrote:
>> > > We've been testing an alternative TPM for our embedded products and
>> > > found random kernel boot failures due to time outs after the continue
>> > > self test command.
>> > >
>> > > This was happening randomly, and has been *very* hard to track down, but it
>> > > looks like with this chip there is some kind of race with the tpm_tis_status()
>> > > check of TPM_STS_COMMAND_READY. If things get there 'too fast' then
>> > > it sees the chip is ready, or tpm_tis_ready() works. Otherwise it takes
>> > > somewhere over 400ms before the chip will return TPM_STS_COMMAND_READY.
>> > >
>> > > Adding some delay after tpm_continue_selftest() makes things reliably
>> > > hit the failure path, otherwise it is a crapshot.
>> >
>> > I've staged this patch here, please test:
>> >
>> > https://github.com/shpedoikal/linux.git tpmdd-01-22-13
>>
>> Thanks Kent, I will try to test your branch next week, if I am able.
>>
>> Can you also grab
>>
>> https://github.com/jgunthorpe/linux/commit/98b2a198b43b41b0535200bf475160786398f114
>
> Thanks, I missed this, I'll start testing it.

Ok, after yet another round of fixes to the stm i2c driver, I have a
staging tree. I'll submit this as-is next week unless something super
ground-breaking comes up.

https://github.com/shpedoikal/linux.git tpmdd-01-31-13

Thanks,
Kent

>> And did you have any comments on:
>>
>> https://github.com/jgunthorpe/linux/commit/9981e3e622bf702394982117134bed731ffd6f7e
>
> This one is a bit out of date atm, for instance the __dev* stuff is
> going away. The thing that most makes me hesitant though is the config
> if (X86 || OF). A hardware platform or a firmware type.. What platform
> should this actually target?
>
> Kent
>
>> Both were posted to the list a bit ago.
>>
>> Regards,
>> --
>> Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> (780)4406067x832
>> Chief Technology Officer, Obsidian Research Corp Edmonton, Canada
>>
>> ------------------------------------------------------------------------------
>> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
>> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
>> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
>> MVPs and experts. ON SALE this month only -- learn more at:
>> http://p.sf.net/sfu/learnnow-d2d
>> _______________________________________________
>> tpmdd-devel mailing list
>> tpmdd-devel@xxxxxxxxxxxxxxxxxxxxx
>> https://lists.sourceforge.net/lists/listinfo/tpmdd-devel
>>
--
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/