Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d1dc20e authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Revert "TPM: Long default timeout fix"



This reverts commit c4ff4b82.

Ted Ts'o reports:

 "TPM is working for me so I can log into employer's network in 2.6.37.
  It broke when I tried 2.6.38-rc6, with the following relevant lines
  from my dmesg:

  [   11.081627] tpm_tis 00:0b: 1.2 TPM (device-id 0x0, rev-id 78)
  [   25.734114] tpm_tis 00:0b: Operation Timed out
  [   78.040949] tpm_tis 00:0b: Operation Timed out

  This caused me to get suspicious, especially since the _other_ TPM
  commit in 2.6.38 had already been reverted, so I tried reverting
  commit c4ff4b82: "TPM: Long default timeout fix".  With this commit
  reverted, my TPM on my Lenovo T410 is once again working."

Requested-and-tested-by: default avatarTheodore Ts'o <tytso@mit.edu>
Acked-by: default avatarRajiv Andrade <srajiv@linux.vnet.ibm.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3e1f2356
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -364,14 +364,12 @@ unsigned long tpm_calc_ordinal_duration(struct tpm_chip *chip,
		    tpm_protected_ordinal_duration[ordinal &
						   TPM_PROTECTED_ORDINAL_MASK];

	if (duration_idx != TPM_UNDEFINED) {
	if (duration_idx != TPM_UNDEFINED)
		duration = chip->vendor.duration[duration_idx];
		/* if duration is 0, it's because chip->vendor.duration wasn't */
		/* filled yet, so we set the lowest timeout just to give enough */
		/* time for tpm_get_timeouts() to succeed */
		return (duration <= 0 ? HZ : duration);
	} else
	if (duration <= 0)
		return 2 * 60 * HZ;
	else
		return duration;
}
EXPORT_SYMBOL_GPL(tpm_calc_ordinal_duration);