tpm: Add missing tpm_do_selftest to ST33 I2C driver
authorJason Gunthorpe <jgunthorpe@obsidianresearch.com>
Sat, 9 Nov 2013 18:17:00 +0000 (11:17 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Sep 2014 23:34:14 +0000 (16:34 -0700)
commit f07a5e9a331045e976a3d317ba43d14859d9407c upstream.

Most device drivers do call 'tpm_do_selftest' which executes a
TPM_ContinueSelfTest. tpm_i2c_stm_st33 is just pointlessly different,
I think it is bug.

These days we have the general assumption that the TPM is usable by
the kernel immediately after the driver is finished, so we can no
longer defer the mandatory self test to userspace.

Reported-by: Richard Marciel <rmaciel@linux.vnet.ibm.com>
Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/tpm/tpm_i2c_stm_st33.c

index 5b0dd8e..be9af2e 100644 (file)
@@ -715,6 +715,7 @@ tpm_st33_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id)
        }
 
        tpm_get_timeouts(chip);
+       tpm_do_selftest(chip);
 
        dev_info(chip->dev, "TPM I2C Initialized\n");
        return 0;