&VarSize,\r
&SystemConfiguration\r
);\r
+ \r
+ if (EFI_ERROR (Status) || VarSize != sizeof(SYSTEM_CONFIGURATION)) {\r
+ //The setup variable is corrupted\r
+ VarSize = sizeof(SYSTEM_CONFIGURATION);\r
+ Status = gRT->GetVariable(\r
+ L"SetupRecovery",\r
+ &gEfiNormalSetupGuid,\r
+ NULL,\r
+ &VarSize,\r
+ &SystemConfiguration\r
+ );\r
+ ASSERT_EFI_ERROR (Status);\r
+ } \r
\r
VarSize = sizeof(Selection);\r
Status = gRT->GetVariable(\r
Status = gRT->SetVariable (\r
NORMAL_SETUP_NAME,\r
&gEfiNormalSetupGuid,\r
- EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
sizeof(SYSTEM_CONFIGURATION),\r
&SystemConfiguration\r
);\r
Status = gRT->SetVariable(\r
L"PlatformInfo",\r
&gEfiVlv2VariableGuid,\r
- EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
sizeof(EFI_PLATFORM_INFO_HOB),\r
PlatformInfoHobPtr\r
);\r