Bug#620278: tpm_tis failure increases boot time a llllooootttt
Hi Hendrik,
Hendrik Sattler wrote:
> The boot process (until login on vt1 is possible) take >6 minutes with the
> Debian kernel while the self-compiled (although almost everything that's
> needed is compiled-in) kernel takes far less than 1 minute (never measured
> this).
>
> If you more information than below, just tell me.
[...]
> [ 129.448119] tpm_tis 00:0b: tpm_transmit: tpm_send: error -62
Thanks and sorry for the slow response. Might be related to
<http://bugs.debian.org/649033>.
Could you try this patch? (Instructions for applying a patch to the
Debian kernel are at [1].)
[1] http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s4.2.2
commit a927b8131794
Author: Stefan Berger <stefanb@linux.vnet.ibm.com>
Date: Fri Nov 11 12:57:06 2011 -0500
tpm_tis: add delay after aborting command
This patch adds a delay after aborting a command. Some TPMs need
this and will not process the subsequent command correctly otherwise.
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index 34832bc74649..d93bafde3120 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -432,6 +432,9 @@ static int probe_itpm(struct tpm_chip *chip)
out:
itpm = rem_itpm;
tpm_tis_ready(chip);
+ /* some TPMs need a break here otherwise they will not work
+ * correctly on the immediately subsequent command */
+ msleep(chip->vendor.timeout_b);
release_locality(chip, chip->vendor.locality, 0);
return rc;
Reply to: