summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
eecad34)
TcgDxePassThroughToTpm should be able to handle all TPM12 Command & Response correctly.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Long Qin <qin.long@intel.com>
UINT32 TpmOutSize;\r
UINT16 Data16;\r
UINT32 Data32;\r
UINT32 TpmOutSize;\r
UINT16 Data16;\r
UINT32 Data32;\r
\r
DEBUG_CODE (\r
UINTN DebugSize;\r
\r
DEBUG_CODE (\r
UINTN DebugSize;\r
DEBUG ((EFI_D_VERBOSE, "\n"));\r
);\r
//\r
DEBUG ((EFI_D_VERBOSE, "\n"));\r
);\r
//\r
- // Check the reponse data header (tag,parasize and returncode )\r
+ // Check the response data header (tag, parasize and returncode)\r
//\r
CopyMem (&Data16, BufferOut, sizeof (UINT16));\r
//\r
CopyMem (&Data16, BufferOut, sizeof (UINT16));\r
- if (SwapBytes16 (Data16) != TPM_TAG_RSP_COMMAND) {\r
- DEBUG ((EFI_D_ERROR, "TPM12: TPM_ST_RSP error - %x\n", TPM_TAG_RSP_COMMAND));\r
+ RspTag = SwapBytes16 (Data16);\r
+ if (RspTag != TPM_TAG_RSP_COMMAND && RspTag != TPM_TAG_RSP_AUTH1_COMMAND && RspTag != TPM_TAG_RSP_AUTH2_COMMAND) {\r
+ DEBUG ((EFI_D_ERROR, "TPM12: Response tag error - current tag value is %x\n", RspTag));\r
Status = EFI_UNSUPPORTED;\r
goto Exit;\r
}\r
Status = EFI_UNSUPPORTED;\r
goto Exit;\r
}\r