]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideDxe.c
Update HiiDataBase to fix the SCT hang issues by the invalid device path.
[mirror_edk2.git] / MdeModulePkg / Universal / PlatformDriOverrideDxe / PlatDriOverrideDxe.c
index 085b8dd5cd06257eafc7e5546d7066b473addeb9..fa7ca9094c027649c95461dd9cb19a827cab490b 100644 (file)
@@ -1161,12 +1161,12 @@ PlatOverMngrExtractConfig (
   EFI_STATUS                       Status;\r
   EFI_CALLBACK_INFO                *Private;\r
   EFI_HII_CONFIG_ROUTING_PROTOCOL  *HiiConfigRouting;\r
-  \r
-  if (Request == NULL) {\r
-    return EFI_NOT_FOUND;\r
-  }\r
 \r
-  Private = EFI_CALLBACK_INFO_FROM_THIS (This);\r
+  if (Progress == NULL || Results == NULL || Request == NULL) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+  *Progress        = Request;\r
+  Private          = EFI_CALLBACK_INFO_FROM_THIS (This);\r
   HiiConfigRouting = Private->HiiConfigRouting;\r
 \r
   //\r
@@ -1210,6 +1210,15 @@ PlatOverMngrRouteConfig (
   UINT16                                    KeyValue;\r
   PLAT_OVER_MNGR_DATA                       *FakeNvData;\r
 \r
+  if (Configuration == NULL || Progress == NULL) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+  *Progress = Configuration;\r
+\r
+  if (!HiiIsConfigHdrMatch (Configuration, &mPlatformOverridesManagerGuid, mVariableName)) {\r
+    return EFI_NOT_FOUND;\r
+  }\r
+\r
   Private    = EFI_CALLBACK_INFO_FROM_THIS (This);\r
   FakeNvData = &Private->FakeNvData;\r
   if (!HiiGetBrowserData (&mPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData)) {\r
@@ -1233,6 +1242,7 @@ PlatOverMngrRouteConfig (
     CommintChanges (Private, KeyValue, FakeNvData);\r
   }\r
 \r
+  *Progress = Configuration + StrLen (Configuration);\r
   return EFI_SUCCESS;\r
 }\r
 \r