IN TPM_PHYSICAL_PRESENCE PhysicalPresence\r
)\r
{\r
+ EFI_STATUS Status;\r
TPM_CMD_PHYSICAL_PRESENCE Command;\r
TPM_RSP_COMMAND_HDR Response;\r
UINT32 Length;\r
Command.Hdr.ordinal = SwapBytes32 (TSC_ORD_PhysicalPresence);\r
Command.PhysicalPresence = SwapBytes16 (PhysicalPresence);\r
Length = sizeof (Response);\r
- return Tpm12SubmitCommand (sizeof (Command), (UINT8 *)&Command, &Length, (UINT8 *)&Response);\r
+\r
+ Status = Tpm12SubmitCommand (sizeof (Command), (UINT8 *)&Command, &Length, (UINT8 *)&Response);\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ if (SwapBytes32(Response.returnCode) != TPM_SUCCESS) {\r
+ DEBUG ((EFI_D_ERROR, "Tpm12PhysicalPresence: Response Code error! 0x%08x\r\n", SwapBytes32(Response.returnCode)));\r
+ return EFI_DEVICE_ERROR;\r
+ }\r
+\r
+ return EFI_SUCCESS;\r
}\r