We've run into a case where a customer has an STM TPM 1.2 chip (version 1.2.8.28), that is getting into an inconsistent state and they end up getting tpm transmit errors. In really old tpm code this wasn't seen because the code that grabbed the duration values from the chip could fail silently, and would proceed to just use default values and move forward. More recent code though successfully gets the duration values from the chip, and using those values this particular chip version gets into the state seen by the customer.
The idea with this patchset is to provide a facility like the update_timeouts operation to allow the override of chip supplied values. v3: Rework update_durations to make use of new version structs and pull tpm1_getcap calls out of loop. v2: Update Alexey's v1 submission with suggestions made by Jarkko