I was wondering about
that. The values returned from the TPM in the hp6930p are definitely milliseconds,
they are in fact equal to the default values.

A possible solution would be to
always use the minimum of the value returned from the TPM and the default value.
Presumably the reason for allowing the tpm to specify the timeout is to allow a
slow TPM to specify longer timeouts.

According to TCG PC Client Sepcific TPM Interface Specification
(TIS), calling the TPM_GetCapability command with the capability
TPM_CAP_PROP_TIS_TIMEOUTS return an array of uint32 values each representing
the number of microseconds for the associated timeout. And the structure we
used represents the number of milliseconds. I also tested the code with some
TPMs. I guess maybe your hp6930p doesn't conform to the spec.

Patch to fix timeout bug introduced by tboot.hg changeset
176. Either the TPM in the hp6930p doesn't operate to spec or the code was
never tested. With the patch, the values read from the tpm are equal to
the default values used before tpm timeout code was added in changesets 163 and
176.