On Sun Nov 10 19, Jerry Snitselaar wrote:
Jarkko, should there be tpm_chip_start/tpm_chip_stop calls around
the tpm1_getcap calls in tpm1_get_timeouts?
Maybe moving the tpm_chip_start called before the irq probe to before
tpm_get_timeouts:
diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
index 270f43acbb77..806acc666696 100644
--- a/drivers/char/tpm/tpm_tis_core.c
+++ b/drivers/char/tpm/tpm_tis_core.c
@@ -974,13 +974,14 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
* to make sure it works. May as well use that command to set the
* proper timeouts for the driver.
*/
+ tpm_chip_start(chip);
if (tpm_get_timeouts(chip)) {
dev_err(dev, "Could not get TPM timeouts and durations\n");
rc = -ENODEV;
+ tpm_chip_stop(chip);
goto out_err;
}
- tpm_chip_start(chip);
chip->flags |= TPM_CHIP_FLAG_IRQ;
if (irq) {
tpm_tis_probe_irq_single(chip, intmask, IRQF_SHARED,