]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideDxe.c
Update DriverSample and PlatDriOverrideDxe driver to correct the return value for...
[mirror_edk2.git] / MdeModulePkg / Universal / PlatformDriOverrideDxe / PlatDriOverrideDxe.c
index 2c1d9d96c5a4634de4885ef13d60e2025e78afe8..241918691e73e5f7e2afdcf72619d6c4547b0fe2 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,10 +1210,23 @@ 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
+  *Progress = Configuration + StrLen (Configuration);\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
-    return EFI_NOT_FOUND;\r
+  if (!HiiGetBrowserData (&mPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData)) {\r
+    //\r
+    // FakeNvData can't be got from SetupBrowser, which doesn't need to be set.\r
+    //\r
+    return EFI_SUCCESS;\r
   }\r
 \r
   if (mCurrentPage == FORM_ID_DRIVER) {\r
@@ -1276,7 +1289,7 @@ PlatOverMngrCallback (
   \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
+  if (!HiiGetBrowserData (&mPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData)) {\r
     return EFI_NOT_FOUND;\r
   }\r
 \r