[lkml]   [2019]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 2/2 v2] tpm_tis: override durations for STM tpm with firmware
On Thu Aug 29 19, Jarkko Sakkinen wrote:
>On Tue, Aug 27, 2019 at 05:46:21PM -0700, Jerry Snitselaar wrote:
>> There was revealed a bug in the STM TPM chipset used in Dell R415s.
>> Bug is observed so far only on chipset firmware
>> (1.2 TPM, device-id 0x0, rev-id 78). After some number of
>> operations chipset hangs and stays in inconsistent state:
>> tpm_tis 00:09: Operation Timed out
>> tpm_tis 00:09: tpm_transmit: tpm_send: error -5
>> Durations returned by the chip are the same like on other
>> firmware revisions but apparently with specifically fw
>> durations should be reset to 2 minutes to enable tpm chip work
>> properly. No working way of updating firmware was found.
>> This patch adds implementation of ->update_durations method
>> that matches only STM devices with specific firmware version.
>> Cc: Peter Huewe <>
>> Cc: Jarkko Sakkinen <>
>> Cc: Jason Gunthorpe <>
>> Signed-off-by: Alexey Klimov <>
>> Signed-off-by: Jerry Snitselaar <>
>> ---
>> v2: Make suggested changes from Jarkko
>> - change struct field name to durations from durs
>> - formatting cleanups
>> - turn into void function like update_timeouts and
>> use chip->duration_adjusted to track whether adjustment occurred.
>The code repetition looks horrible so I wrote a patch that should help:
>Read the remar that prepends the diffstat.

LGTM, and testing it on a 1.2 tpm system here worked fine. You can add my
Reviewed-by and Tested-by.

I have reworked this 2/2 patch to make use of these new structs and
pull the tpm1_getcap calls out of the for loop. So I will submit a v3
to go on top of your patch.

 \ /
  Last update: 2019-08-29 22:26    [W:0.078 / U:2.844 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site