]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
MdeModulePkg Variable: Remove CacheOffset in UpdateVariable()
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / Variable.c
index 424f92a537577937ab69deef4339cc406bc05216..14684b3fedb43a0e44302556c4db660fcb25c10f 100644 (file)
@@ -2139,7 +2139,6 @@ UpdateVariable (
   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
@@ -2577,7 +2576,6 @@ UpdateVariable (
     //\r
     // Step 1:\r
     //\r
-    CacheOffset = mVariableModuleGlobal->NonVolatileLastVariableOffset;\r
     Status = UpdateVariableStore (\r
                &mVariableModuleGlobal->VariableGlobal,\r
                FALSE,\r
@@ -2643,6 +2641,11 @@ UpdateVariable (
       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
@@ -2653,10 +2656,6 @@ UpdateVariable (
         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