]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c
Sync the branch changes to trunk.
[mirror_edk2.git] / Vlv2TbltDevicePkg / PlatformInitPei / PlatformEarlyInit.c
index 1a12c53e9601e92351b53a719d0eb75aa9ba14c1..0b0acf5d2fe9aad3b876b74a27cdea124f23e77c 100644 (file)
@@ -196,7 +196,19 @@ GetSetupVariable (
                        &VariableSize,\r
                        SystemConfiguration\r
                        );\r
-  ASSERT_EFI_ERROR(Status);\r
+  if (EFI_ERROR (Status) || VariableSize != sizeof(SYSTEM_CONFIGURATION)) {\r
+    //The setup variable is corrupted\r
+    VariableSize = sizeof(SYSTEM_CONFIGURATION);\r
+    Status = Variable->GetVariable(\r
+              Variable,\r
+              L"SetupRecovery",\r
+              &gEfiSetupVariableGuid,\r
+              NULL,\r
+              &VariableSize,\r
+              SystemConfiguration\r
+              );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }  \r
   return Status;\r
 }\r
 \r