]> git.baikalelectronics.ru Git - kernel.git/commit
tpm_tis: use default timeout value if chip reports it as zero
authorMaciej S. Szmigiero <mail@maciej.szmigiero.name>
Fri, 13 Jan 2017 21:37:00 +0000 (22:37 +0100)
committerJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Mon, 23 Jan 2017 16:28:18 +0000 (18:28 +0200)
commit254f57ef1765d30a975b40843c5041f08596de71
tree9e8c8a9128f4cc68c5049a3aa353627feb0f6c0a
parentc3ce3cb07e6d7e8f9595ac25c23aaf99f90ace77
tpm_tis: use default timeout value if chip reports it as zero

Since commit 018a573519ca ("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 9ed76a1950fc4f ("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.

Fixes: 018a573519ca ("tpm_tis: Introduce intermediate layer for TPM access")
Cc: stable@vger.kernel.org
Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
drivers/char/tpm/tpm-interface.c
drivers/char/tpm/tpm_tis.c
drivers/char/tpm/tpm_tis_core.c
drivers/char/tpm/tpm_tis_core.h