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.8.28 > (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 1.2.8.28 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 <peterhuewe@xxxxxx> > Cc: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> > Cc: Jason Gunthorpe <jgg@xxxxxxxx> > Signed-off-by: Alexey Klimov <aklimov@xxxxxxxxxx> > Signed-off-by: Jerry Snitselaar <jsnitsel@xxxxxxxxxx> > --- > 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: https://patchwork.kernel.org/patch/11121475/ Read the remar that prepends the diffstat. /Jarkko