&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