Page MenuHomeFreeBSD

D57841.diff
No OneTemporary

D57841.diff

diff --git a/sys/dev/tpm/tpm_tis_core.c b/sys/dev/tpm/tpm_tis_core.c
--- a/sys/dev/tpm/tpm_tis_core.c
+++ b/sys/dev/tpm/tpm_tis_core.c
@@ -474,6 +474,16 @@
"Failed to read response\n");
return (EIO);
}
+
+ /*
+ * Per TIS 1.3 section 5.6.12, write commandReady after reading the
+ * response so the TPM can free the ReadFIFO and other internal
+ * resources. The next tpmtis_go_ready() provides the second
+ * write the spec mentions, and waits for the state transition,
+ * so no wait is needed here.
+ */
+ TPM_WRITE_4(sc->dev, TPM_STS, TPM_STS_CMD_RDY);
+ TPM_WRITE_BARRIER(sc->dev, TPM_STS, 4);
tpmtis_relinquish_locality(sc);
priv->offset = 0;
priv->len = bytes_available;

File Metadata

Mime Type
text/plain
Expires
Sat, Jul 4, 4:29 PM (1 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34414606
Default Alt Text
D57841.diff (702 B)

Event Timeline