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)
committerPeter Huewe <peterhuewe@gmx.de>
Tue, 29 Jul 2014 21:10:55 +0000 (23:10 +0200)
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.

Cc: <stable@vger.kernel.org> # 3.12+
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>
drivers/char/tpm/tpm_i2c_stm_st33.c

index 3b7bf21..4669e37 100644 (file)
@@ -714,6 +714,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;