(VOID **)&Buffer,\r
&Size\r
);\r
- if (!EFI_ERROR (Status) && Size == sizeof (*Value) && Buffer != NULL) {\r
+ if (!EFI_ERROR (Status) && (Size == sizeof (*Value)) && (Buffer != NULL)) {\r
*Valid = TRUE;\r
*Value = *Buffer;\r
}\r
+\r
if (Buffer != NULL) {\r
FreePool (Buffer);\r
}\r
\r
FmpControllerState = NULL;\r
Size = 0;\r
- Status = GetVariable2 (\r
- Private->FmpStateVariableName,\r
- &gEfiCallerIdGuid,\r
- (VOID **)&FmpControllerState,\r
- &Size\r
- );\r
- if (EFI_ERROR (Status) || FmpControllerState == NULL) {\r
+ Status = GetVariable2 (\r
+ Private->FmpStateVariableName,\r
+ &gEfiCallerIdGuid,\r
+ (VOID **)&FmpControllerState,\r
+ &Size\r
+ );\r
+ if (EFI_ERROR (Status) || (FmpControllerState == NULL)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to get the controller state. Status = %r\n", mImageIdName, Status));\r
} else {\r
if (Size == sizeof (*FmpControllerState)) {\r
return FmpControllerState;\r
}\r
+\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Getting controller state returned a size different than expected. Size = 0x%x\n", mImageIdName, Size));\r
}\r
+\r
if (FmpControllerState != NULL) {\r
FreePool (FmpControllerState);\r
}\r
+\r
return NULL;\r
}\r
\r
// Allocate Unicode string with room for BaseVariableName and a 16 digit\r
// hexadecimal value for the HardwareInstance value.\r
//\r
- Size = StrSize (BaseVariableName) + 16 * sizeof (CHAR16);\r
+ Size = StrSize (BaseVariableName) + 16 * sizeof (CHAR16);\r
VariableName = AllocateCopyPool (Size, BaseVariableName);\r
if (VariableName == NULL) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to generate variable name %s.\n", mImageIdName, BaseVariableName));\r
return VariableName;\r
}\r
+\r
if (HardwareInstance == 0) {\r
return VariableName;\r
}\r
+\r
UnicodeValueToStringS (\r
- &VariableName[StrLen(BaseVariableName)],\r
+ &VariableName[StrLen (BaseVariableName)],\r
Size,\r
PREFIX_ZERO | RADIX_HEX,\r
HardwareInstance,\r
IN OUT FIRMWARE_MANAGEMENT_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_STATUS Status;\r
- VOID *Buffer;\r
+ EFI_STATUS Status;\r
+ VOID *Buffer;\r
FMP_CONTROLLER_STATE FmpControllerState;\r
\r
if (Private->VersionVariableName != NULL) {\r
FreePool (Private->VersionVariableName);\r
}\r
+\r
if (Private->LsvVariableName != NULL) {\r
FreePool (Private->LsvVariableName);\r
}\r
+\r
if (Private->LastAttemptStatusVariableName != NULL) {\r
FreePool (Private->LastAttemptStatusVariableName);\r
}\r
+\r
if (Private->LastAttemptVersionVariableName != NULL) {\r
FreePool (Private->LastAttemptVersionVariableName);\r
}\r
+\r
if (Private->FmpStateVariableName != NULL) {\r
FreePool (Private->FmpStateVariableName);\r
}\r
FMP_CONTROLLER_STATE *FmpControllerState;\r
UINT32 Value;\r
\r
- Value = DEFAULT_VERSION;\r
+ Value = DEFAULT_VERSION;\r
FmpControllerState = GetFmpControllerState (Private);\r
if (FmpControllerState != NULL) {\r
if (FmpControllerState->VersionValid) {\r
Value = FmpControllerState->Version;\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Get variable %g %s Version %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Get variable %g %s Version %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
Value\r
));\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
+\r
return Value;\r
}\r
\r
FMP_CONTROLLER_STATE *FmpControllerState;\r
UINT32 Value;\r
\r
- Value = DEFAULT_LOWESTSUPPORTEDVERSION;\r
+ Value = DEFAULT_LOWESTSUPPORTEDVERSION;\r
FmpControllerState = GetFmpControllerState (Private);\r
if (FmpControllerState != NULL) {\r
if (FmpControllerState->LsvValid) {\r
Value = FmpControllerState->Lsv;\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Get variable %g %s LowestSupportedVersion %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Get variable %g %s LowestSupportedVersion %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
Value\r
));\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
+\r
return Value;\r
}\r
\r
FMP_CONTROLLER_STATE *FmpControllerState;\r
UINT32 Value;\r
\r
- Value = DEFAULT_LASTATTEMPTSTATUS;\r
+ Value = DEFAULT_LASTATTEMPTSTATUS;\r
FmpControllerState = GetFmpControllerState (Private);\r
if (FmpControllerState != NULL) {\r
if (FmpControllerState->LastAttemptStatusValid) {\r
Value = FmpControllerState->LastAttemptStatus;\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Get variable %g %s LastAttemptStatus %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Get variable %g %s LastAttemptStatus %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
Value\r
));\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
+\r
return Value;\r
}\r
\r
FMP_CONTROLLER_STATE *FmpControllerState;\r
UINT32 Value;\r
\r
- Value = DEFAULT_LASTATTEMPTVERSION;\r
+ Value = DEFAULT_LASTATTEMPTVERSION;\r
FmpControllerState = GetFmpControllerState (Private);\r
if (FmpControllerState != NULL) {\r
if (FmpControllerState->LastAttemptVersionValid) {\r
Value = FmpControllerState->LastAttemptVersion;\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Get variable %g %s LastAttemptVersion %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Get variable %g %s LastAttemptVersion %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
Value\r
));\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
+\r
return Value;\r
}\r
\r
if (!FmpControllerState->VersionValid) {\r
Update = TRUE;\r
}\r
+\r
if (FmpControllerState->Version != Version) {\r
Update = TRUE;\r
}\r
+\r
if (!Update) {\r
DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state. Same value as before.\n", mImageIdName));\r
} else {\r
FmpControllerState->VersionValid = TRUE;\r
FmpControllerState->Version = Version;\r
- Status = gRT->SetVariable (\r
- Private->FmpStateVariableName,\r
- &gEfiCallerIdGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof (*FmpControllerState),\r
- FmpControllerState\r
- );\r
+ Status = gRT->SetVariable (\r
+ Private->FmpStateVariableName,\r
+ &gEfiCallerIdGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
+ sizeof (*FmpControllerState),\r
+ FmpControllerState\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to update controller state. Status = %r\n", mImageIdName, Status));\r
} else {\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Set variable %g %s Version %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Set variable %g %s Version %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
));\r
}\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
\r
if (!FmpControllerState->LsvValid) {\r
Update = TRUE;\r
}\r
+\r
if (FmpControllerState->Lsv < LowestSupportedVersion) {\r
Update = TRUE;\r
}\r
+\r
if (!Update) {\r
DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state. Same value as before.\n", mImageIdName));\r
} else {\r
FmpControllerState->LsvValid = TRUE;\r
FmpControllerState->Lsv = LowestSupportedVersion;\r
- Status = gRT->SetVariable (\r
- Private->FmpStateVariableName,\r
- &gEfiCallerIdGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof (*FmpControllerState),\r
- FmpControllerState\r
- );\r
+ Status = gRT->SetVariable (\r
+ Private->FmpStateVariableName,\r
+ &gEfiCallerIdGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
+ sizeof (*FmpControllerState),\r
+ FmpControllerState\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to update controller state. Status = %r\n", mImageIdName, Status));\r
} else {\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Set variable %g %s LowestSupportedVersion %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Set variable %g %s LowestSupportedVersion %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
));\r
}\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
\r
if (!FmpControllerState->LastAttemptStatusValid) {\r
Update = TRUE;\r
}\r
+\r
if (FmpControllerState->LastAttemptStatus != LastAttemptStatus) {\r
Update = TRUE;\r
}\r
+\r
if (!Update) {\r
DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state. Same value as before.\n", mImageIdName));\r
} else {\r
FmpControllerState->LastAttemptStatusValid = TRUE;\r
FmpControllerState->LastAttemptStatus = LastAttemptStatus;\r
- Status = gRT->SetVariable (\r
- Private->FmpStateVariableName,\r
- &gEfiCallerIdGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof (*FmpControllerState),\r
- FmpControllerState\r
- );\r
+ Status = gRT->SetVariable (\r
+ Private->FmpStateVariableName,\r
+ &gEfiCallerIdGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
+ sizeof (*FmpControllerState),\r
+ FmpControllerState\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to update controller state. Status = %r\n", mImageIdName, Status));\r
} else {\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Set variable %g %s LastAttemptStatus %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Set variable %g %s LastAttemptStatus %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
));\r
}\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
\r
if (!FmpControllerState->LastAttemptVersionValid) {\r
Update = TRUE;\r
}\r
+\r
if (FmpControllerState->LastAttemptVersion != LastAttemptVersion) {\r
Update = TRUE;\r
}\r
+\r
if (!Update) {\r
DEBUG ((DEBUG_INFO, "FmpDxe(%s): No need to update controller state. Same value as before.\n", mImageIdName));\r
} else {\r
FmpControllerState->LastAttemptVersionValid = TRUE;\r
FmpControllerState->LastAttemptVersion = LastAttemptVersion;\r
- Status = gRT->SetVariable (\r
- Private->FmpStateVariableName,\r
- &gEfiCallerIdGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof (*FmpControllerState),\r
- FmpControllerState\r
- );\r
+ Status = gRT->SetVariable (\r
+ Private->FmpStateVariableName,\r
+ &gEfiCallerIdGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
+ sizeof (*FmpControllerState),\r
+ FmpControllerState\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to update controller state. Status = %r\n", mImageIdName, Status));\r
} else {\r
- DEBUG ((DEBUG_INFO, "FmpDxe(%s): Set variable %g %s LastAttemptVersion %08x\n",\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "FmpDxe(%s): Set variable %g %s LastAttemptVersion %08x\n",\r
mImageIdName,\r
&gEfiCallerIdGuid,\r
Private->FmpStateVariableName,\r
));\r
}\r
}\r
+\r
FreePool (FmpControllerState);\r
}\r
\r
EFI_STATUS Status;\r
\r
// If success, go ahead and set the policies to protect the target variables.\r
- Status = RegisterBasicVariablePolicy (VariablePolicy,\r
- &gEfiCallerIdGuid,\r
- VariableName,\r
- VARIABLE_POLICY_NO_MIN_SIZE,\r
- VARIABLE_POLICY_NO_MAX_SIZE,\r
- VARIABLE_POLICY_NO_MUST_ATTR,\r
- VARIABLE_POLICY_NO_CANT_ATTR,\r
- VARIABLE_POLICY_TYPE_LOCK_NOW);\r
+ Status = RegisterBasicVariablePolicy (\r
+ VariablePolicy,\r
+ &gEfiCallerIdGuid,\r
+ VariableName,\r
+ VARIABLE_POLICY_NO_MIN_SIZE,\r
+ VARIABLE_POLICY_NO_MAX_SIZE,\r
+ VARIABLE_POLICY_NO_MUST_ATTR,\r
+ VARIABLE_POLICY_NO_CANT_ATTR,\r
+ VARIABLE_POLICY_TYPE_LOCK_NOW\r
+ );\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to lock variable %g %s. Status = %r\n",\r
- mImageIdName,\r
- &gEfiCallerIdGuid,\r
- VariableName,\r
- Status\r
- ));\r
+ DEBUG ((\r
+ DEBUG_ERROR,\r
+ "FmpDxe(%s): Failed to lock variable %g %s. Status = %r\n",\r
+ mImageIdName,\r
+ &gEfiCallerIdGuid,\r
+ VariableName,\r
+ Status\r
+ ));\r
}\r
+\r
if (EFI_ERROR (PreviousStatus)) {\r
return PreviousStatus;\r
}\r
+\r
return Status;\r
}\r
\r
FIRMWARE_MANAGEMENT_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_STATUS Status;\r
- EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy;\r
+ EFI_STATUS Status;\r
+ EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy;\r
\r
// Locate the VariablePolicy protocol.\r
- Status = gBS->LocateProtocol (&gEdkiiVariablePolicyProtocolGuid, NULL, (VOID**)&VariablePolicy );\r
+ Status = gBS->LocateProtocol (&gEdkiiVariablePolicyProtocolGuid, NULL, (VOID **)&VariablePolicy);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "FmpDxe %a - Could not locate VariablePolicy protocol! %r\n", __FUNCTION__, Status));\r
return Status;\r