Message ID | 20210826111908.117278-6-amirmizi6@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add tpm i2c ptp driver | expand |
On Thu, 2021-08-26 at 14:19 +0300, amirmizi6@gmail.com wrote: > From: Amir Mizinski <amirmizi6@gmail.com> > > Issue could result when the TPM does not update TPM_STS register after > a locality request (TPM_STS Initial value = 0xFF) and a TPM_STS register > read occurs (tpm_tis_status(chip)). What does it mean when "issue results"? I don't understand that part. /Jarkko
diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c index 4145758..d527c43 100644 --- a/drivers/char/tpm/tpm_tis_core.c +++ b/drivers/char/tpm/tpm_tis_core.c @@ -177,8 +177,14 @@ static int request_locality(struct tpm_chip *chip, int l) } else { /* wait for burstcount */ do { - if (check_locality(chip, l)) + if (check_locality(chip, l)) { + if (tpm_tis_wait_for_stat(chip, TPM_STS_GO, 0, + chip->timeout_c, + &priv->int_queue, + false) < 0) + return -ETIME; return l; + } tpm_msleep(TPM_TIMEOUT); } while (time_before(jiffies, stop)); }