TPM suspend regression fix
Hi James,
Please pull the change since commit e00fb3f7af111d1b3252f7d622213d2e22be65f5 in your next branch:
TOMOYO: Fix domain transition failure warning. (2011-09-28 11:53:15 +1000)
that is available in the git repository at:
git://github.com/srajiv/tpm.git for-james
Stefan Berger (1):
TPM: Refuse activation of tpm_tis driver if TPM is not working correctly
drivers/char/tpm/tpm_tis.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
drivers/char/tpm/tpm_tis.c +13 -0
@@ -549,6 +549,7 @@ static int tpm_tis_init(struct device *dev, resource_size_t start,u32 vendor, intfcaps, intmask;int rc, i, irq_s, irq_e;struct tpm_chip *chip; +u8 digest[TPM_DIGEST_SIZE ];if (!(chip =tpm_register_hardware (dev,&tpm_tis)))return -ENODEV ;
@@ -616,6 +617,18 @@ static int tpm_tis_init(struct device *dev, resource_size_t start,/* get the timeouts before testing for irqs */ tpm_get_timeouts (chip); +/* test for correctly working TPM; refuse driver if not working +to prevent suspend/resume problems */ + rc =tpm_pcr_read (chip->dev_num,0 , digest); +if (rc !=0 ) { +dev_err (dev,"Could not read PCR 0. " +"TPM is not working correctly.\n" ); +dev_err (dev,"Was machine previously suspended without TPM " +"driver present?\n" ); + rc = -ENODEV ; + goto out_err; + } +/* INTERRUPT Setup */ init_waitqueue_head (&chip->vendor.read_queue);init_waitqueue_head (&chip->vendor.int_queue);
Quoted 11 lines · Rajiv Andrade
Hi James,
Please pull the change since commit
e00fb3f7af111d1b3252f7d622213d2e22be65f5in your next branch:TOMOYO: Fix domain transition failure warning. (2011-09-28 11:53:15
+1000)that is available in the git repository at:
git://github.com/srajiv/tpm.gitfor-james
Quoted 6 lines
Stefan Berger (1):
TPM: Refuse activation oftpm_tisdriver if TPM is not working
correctlydrivers/char/tpm/tpm_tis.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
Hi James,
Please do not consider this one, there's one more suspend fix I'm working on, so it's better to have all them in one request instead.
Thanks,
Rajiv