From b46d36d2080a2be3eed58e1d4033a3ce80c092bb Mon Sep 17 00:00:00 2001 From: Valdis Kletnieks Date: Wed, 15 Oct 2008 22:04:35 -0700 Subject: [PATCH] --- yaml --- r: 114911 b: refs/heads/master c: 292cf4a8a989cb564a6a5f0ba7a66e08a095afa1 h: refs/heads/master i: 114909: 3d64d7834d3c7477333c725f5c942a0168bf0f5c 114907: 9493e917a9c5992b5b62e499ea14638edd533d3e 114903: 6cfa4e75bbb450b40f0a0514a1f4a458c8c26bb9 114895: 379b10c699d9a5bef46252f45801dd2fdde5de7d 114879: 17bbd3f4274f1c8cfc1e3900fdd57fc9e62e0d2e v: v3 --- [refs] | 2 +- trunk/drivers/char/tpm/tpm.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 9d8a9f4c24e5..a0fee43150c7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9e5b1b12226d5a501fbc6706ca090e00d18a01ad +refs/heads/master: 292cf4a8a989cb564a6a5f0ba7a66e08a095afa1 diff --git a/trunk/drivers/char/tpm/tpm.c b/trunk/drivers/char/tpm/tpm.c index 6b5a0e0127a7..aa899cec6b3f 100644 --- a/trunk/drivers/char/tpm/tpm.c +++ b/trunk/drivers/char/tpm/tpm.c @@ -557,6 +557,13 @@ void tpm_get_timeouts(struct tpm_chip *chip) usecs_to_jiffies(be32_to_cpu (*((__be32 *) (data + TPM_GET_CAP_RET_UINT32_1_IDX)))); + /* The Broadcom BCM0102 chipset in a Dell Latitude D820 gets the above + * value wrong and apparently reports msecs rather than usecs. So we + * fix up the resulting too-small TPM_SHORT value to make things work. + */ + if (chip->vendor.duration[TPM_SHORT] < (HZ/100)) + chip->vendor.duration[TPM_SHORT] = HZ; + chip->vendor.duration[TPM_MEDIUM] = usecs_to_jiffies(be32_to_cpu (*((__be32 *) (data +