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 3b7bf216289858ece2f8aff141b9d77ed023fde2..4669e3713428509d7f96c69ba5a31714bbae7f38 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;