Fix TCG PPI request EnableActivateClear failure.
Signed-off-by: Dong Guo <guo.dong@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Ouyang Qian <qian.ouyang@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13421 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
16e5944abd
commit
1f728ac751
|
@ -393,16 +393,23 @@ ExecutePhysicalPresence (
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR:
|
case PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR:
|
||||||
TpmResponse = ExecutePhysicalPresence (TcgProtocol, PHYSICAL_PRESENCE_ENABLE_ACTIVATE, PpiFlags);
|
//
|
||||||
if (TpmResponse == 0) {
|
// PHYSICAL_PRESENCE_ENABLE_ACTIVATE + PHYSICAL_PRESENCE_CLEAR
|
||||||
|
// PHYSICAL_PRESENCE_CLEAR will be executed after reboot.
|
||||||
|
//
|
||||||
|
if ((*PpiFlags & FLAG_RESET_TRACK) == 0) {
|
||||||
|
TpmResponse = ExecutePhysicalPresence (TcgProtocol, PHYSICAL_PRESENCE_ENABLE_ACTIVATE, PpiFlags);
|
||||||
|
*PpiFlags |= FLAG_RESET_TRACK;
|
||||||
|
} else {
|
||||||
TpmResponse = ExecutePhysicalPresence (TcgProtocol, PHYSICAL_PRESENCE_CLEAR, PpiFlags);
|
TpmResponse = ExecutePhysicalPresence (TcgProtocol, PHYSICAL_PRESENCE_CLEAR, PpiFlags);
|
||||||
|
*PpiFlags &= ~FLAG_RESET_TRACK;
|
||||||
}
|
}
|
||||||
return TpmResponse;
|
return TpmResponse;
|
||||||
|
|
||||||
case PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR_ENABLE_ACTIVATE:
|
case PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR_ENABLE_ACTIVATE:
|
||||||
//
|
//
|
||||||
// PHYSICAL_PRESENCE_ENABLE_ACTIVATE + PHYSICAL_PRESENCE_CLEAR_ENABLE_ACTIVATE
|
// PHYSICAL_PRESENCE_ENABLE_ACTIVATE + PHYSICAL_PRESENCE_CLEAR_ENABLE_ACTIVATE
|
||||||
// PHYSICAL_PRESENCE_CLEAR_ENABLE_ACTIVATE will be executed atfer reboot.
|
// PHYSICAL_PRESENCE_CLEAR_ENABLE_ACTIVATE will be executed after reboot.
|
||||||
//
|
//
|
||||||
if ((*PpiFlags & FLAG_RESET_TRACK) == 0) {
|
if ((*PpiFlags & FLAG_RESET_TRACK) == 0) {
|
||||||
TpmResponse = ExecutePhysicalPresence (TcgProtocol, PHYSICAL_PRESENCE_ENABLE_ACTIVATE, PpiFlags);
|
TpmResponse = ExecutePhysicalPresence (TcgProtocol, PHYSICAL_PRESENCE_ENABLE_ACTIVATE, PpiFlags);
|
||||||
|
|
Loading…
Reference in New Issue