Re: [PATCH] tpm_tis: use default timeout value if chip reports it as zero

From: Maciej S. Szmigiero
Date: Mon Jan 23 2017 - 12:24:07 EST


On 16.01.2017 17:39, Jarkko Sakkinen wrote:
> On Mon, Jan 16, 2017 at 03:58:26PM +0100, Maciej S. Szmigiero wrote:
>> On 16.01.2017 14:55, Jarkko Sakkinen wrote:
>>> On Mon, Jan 16, 2017 at 03:46:12PM +0200, Jarkko Sakkinen wrote:
>>>> On Mon, Jan 16, 2017 at 11:42:02AM +0200, Jarkko Sakkinen wrote:
>>>>> On Fri, Jan 13, 2017 at 10:37:00PM +0100, Maciej S. Szmigiero wrote:
>>>>>> Since commit 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for TPM
>>>>>> access") Atmel 3203 TPM on ThinkPad X61S (TPM firmware version 13.9) no
>>>>>> longer works.
>>>>>> The initialization proceeds fine until we get and start using chip-reported
>>>>>> timeouts - and the chip reports C and D timeouts of zero.
>>>>>>
>>>>>> It turns out that until commit 8e54caf407b98e ("tpm: Provide a generic
>>>>>> means to override the chip returned timeouts") we had actually let default
>>>>>> timeout values remain in this case, so let's bring back this behavior to
>>>>>> make chips like Atmel 3203 work again.
>>>>>>
>>>>>> Use a common code that was introduced by that commit so a warning is
>>>>>> printed in this case and /sys/class/tpm/tpm*/timeouts correctly says the
>>>>>> timeouts aren't chip-original.
>>>>>>
>>>>>> Signed-off-by: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx>
>>>>>>
>>>>>> Fixes: 1107d065fdf1 ("tpm_tis: Introduce intermediate layer for TPM access")
>>>>>> Cc: stable@xxxxxxxxxxxxxxx
>>>>>
>>>>> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
>>>>
>>>> It's now applied to my master branch so if someone wants to
>>>> test it, it should be fairly easy.
>>>
>>> And I decided to squash the rename commit to it.
>>
>> Wouldn't it be better to squash the rename commit into "fix iTPM probe via
>> probe_itpm() function" patch (if it isn't too late), since they touch the
>> same functionality?
>
> It can be renamed, modified and even dropped as long as it is in my
> master branch and I haven't sent pull request to James Morris.

I see that "fix iTPM probe via probe_itpm() function" patch isn't present
in your pull request for 4.11.

What I meant in previous message was that you squashed and "rename
TPM_TIS_ITPM_POSSIBLE to TPM_TIS_ITPM_WORKAROUND" patch into "use default timeout
value if chip reports it as zero" patch while it was logically connected with
"fix iTPM probe via probe_itpm() function" patch instead (which now isn't present
at all in the tree).
Sorry if it wasn't 100% clear.

> /Jarkkok

Maciej