]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
MdeModulePkg Variable: Fix the returned status in UpdateVariableStore
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / Variable.c
index 7303681aaa293adc801d6ac45694b84e19c731a1..d17361f8059ae952b68625784588684ef24cc64c 100644 (file)
@@ -238,6 +238,8 @@ IsValidVariableHeader (
   @param Buffer                  Pointer to the buffer from which data is written.\r
 \r
   @retval EFI_INVALID_PARAMETER  Parameters not valid.\r
+  @retval EFI_UNSUPPORTED        Fvb is a NULL for Non-Volatile variable update.\r
+  @retval EFI_OUT_OF_RESOURCES   The remaining size is not enough.\r
   @retval EFI_SUCCESS            Variable store successfully updated.\r
 \r
 **/\r
@@ -274,7 +276,7 @@ UpdateVariableStore (
   //\r
   if (!Volatile) {\r
     if (Fvb == NULL) {\r
-      return EFI_INVALID_PARAMETER;\r
+      return EFI_UNSUPPORTED;\r
     }\r
     Status = Fvb->GetPhysicalAddress(Fvb, &FvVolHdr);\r
     ASSERT_EFI_ERROR (Status);\r
@@ -289,7 +291,7 @@ UpdateVariableStore (
     }\r
 \r
     if ((DataPtr + DataSize) > ((EFI_PHYSICAL_ADDRESS) (UINTN) ((UINT8 *) FwVolHeader + FwVolHeader->FvLength))) {\r
-      return EFI_INVALID_PARAMETER;\r
+      return EFI_OUT_OF_RESOURCES;\r
     }\r
   } else {\r
     //\r
@@ -302,7 +304,7 @@ UpdateVariableStore (
     }\r
 \r
     if ((DataPtr + DataSize) > ((UINTN) ((UINT8 *) VolatileBase + VolatileBase->Size))) {\r
-      return EFI_INVALID_PARAMETER;\r
+      return EFI_OUT_OF_RESOURCES;\r
     }\r
 \r
     //\r