diff --git a/SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.c b/SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.c index eb7d59b52c..94dce6c505 100644 --- a/SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.c +++ b/SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.c @@ -374,7 +374,13 @@ HiiSelectDiskAction ( case HII_KEY_ID_GOTO_REVERT: gHiiConfiguration.AvailableFields |= HII_FIELD_PASSWORD; - gHiiConfiguration.AvailableFields |= HII_FIELD_KEEP_USER_DATA; + if (OpalDisk->SupportedAttributes.PyriteSsc != 1) { + // + // According to current Pyrite SSC Spec 1.00, there is no parameter for RevertSP method. + // So issue RevertSP method without any parameter by suppress KeepUserData option. + // + gHiiConfiguration.AvailableFields |= HII_FIELD_KEEP_USER_DATA; + } if (AvailActions.RevertKeepDataForced) { gHiiConfiguration.AvailableFields |= HII_FIELD_KEEP_USER_DATA_FORCED; } @@ -611,6 +617,14 @@ HiiPopulateDiskInfoForm( // Default initialize keep user Data to be true // gHiiConfiguration.KeepUserData = 1; + if (OpalDisk->SupportedAttributes.PyriteSsc == 1) { + // + // According to current Pyrite SSC Spec 1.00, there is no parameter for RevertSP method. + // So issue RevertSP method without any parameter by set default value to FALSE. + // + gHiiConfiguration.KeepUserData = 0; + } + } } }