VARIABLE_POINTER_TRACK *Variable;\r
VARIABLE_POINTER_TRACK NvVariable;\r
VARIABLE_STORE_HEADER *VariableStoreHeader;\r
- UINTN CacheOffset;\r
UINT8 *BufferForMerge;\r
UINTN MergedBufSize;\r
BOOLEAN DataReady;\r
//\r
// Step 1:\r
//\r
- CacheOffset = mVariableModuleGlobal->NonVolatileLastVariableOffset;\r
Status = UpdateVariableStore (\r
&mVariableModuleGlobal->VariableGlobal,\r
FALSE,\r
goto Done;\r
}\r
\r
+ //\r
+ // Update the memory copy of Flash region.\r
+ //\r
+ CopyMem ((UINT8 *)mNvVariableCache + mVariableModuleGlobal->NonVolatileLastVariableOffset, (UINT8 *)NextVariable, VarSize);\r
+\r
mVariableModuleGlobal->NonVolatileLastVariableOffset += HEADER_ALIGN (VarSize);\r
\r
if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) != 0) {\r
mVariableModuleGlobal->CommonUserVariableTotalSize += HEADER_ALIGN (VarSize);\r
}\r
}\r
- //\r
- // update the memory copy of Flash region.\r
- //\r
- CopyMem ((UINT8 *)mNvVariableCache + CacheOffset, (UINT8 *)NextVariable, VarSize);\r
} else {\r
//\r
// Create a volatile variable.\r