Update DriverSample and PlatDriOverrideDxe driver to correct the return value for...
authorlgao4 <lgao4@de2fecce-e211-0410-80a6-f3fac2684e05>
Thu, 21 May 2009 05:05:59 +0000 (05:05 +0000)
committerlgao4 <lgao4@de2fecce-e211-0410-80a6-f3fac2684e05>
Thu, 21 May 2009 05:05:59 +0000 (05:05 +0000)
git-svn-id: https://edk2.tianocore.org/svn/edk2/trunk@8365 de2fecce-e211-0410-80a6-f3fac2684e05

edk2/MdeModulePkg/Universal/DriverSampleDxe/DriverSample.c
edk2/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideDxe.c

index f856083..74866be 100644 (file)
@@ -22,6 +22,10 @@ EFI_GUID   mFormSetGuid = FORMSET_GUID;
 EFI_GUID   mInventoryGuid = INVENTORY_GUID;\r
 \r
 CHAR16     VariableName[] = L"MyIfrNVData";\r
+//\r
+// <ConfigHdr> Template\r
+//\r
+CONST CHAR16 mDriverSampleConfigHdr[] = L"GUID=00000000000000000000000000000000&NAME=0000&PATH=00";\r
 \r
 EFI_HANDLE                      DriverHandle[2] = {NULL, NULL};\r
 DRIVER_SAMPLE_PRIVATE_DATA      *PrivateData = NULL;\r
@@ -342,7 +346,6 @@ ExtractConfig (
   UINTN                            BufferSize;\r
   DRIVER_SAMPLE_PRIVATE_DATA       *PrivateData;\r
   EFI_HII_CONFIG_ROUTING_PROTOCOL  *HiiConfigRouting;\r
-  EFI_STRING                       ConfigRequestHdr;\r
   EFI_STRING                       ConfigRequest;\r
   UINTN                            Size;\r
   \r
@@ -352,7 +355,6 @@ ExtractConfig (
   //\r
   // Initialize the local variables.\r
   //\r
-  ConfigRequestHdr = NULL;\r
   ConfigRequest    = NULL;\r
   Size             = 0;\r
   *Progress        = Request;\r
@@ -373,7 +375,7 @@ ExtractConfig (
             &PrivateData->Configuration\r
             );\r
   if (EFI_ERROR (Status)) {\r
-    return Status;\r
+    return EFI_NOT_FOUND;\r
   }\r
   \r
   if (Request == NULL) {\r
@@ -381,33 +383,22 @@ ExtractConfig (
     // Request is set to NULL, construct full request string.\r
     //\r
 \r
-    //\r
-    // First Set ConfigRequestHdr string.\r
-    //\r
-    ConfigRequestHdr = HiiConstructConfigHdr (&mFormSetGuid, VariableName, PrivateData->DriverHandle[0]);\r
-    ASSERT (ConfigRequestHdr != NULL);\r
-\r
     //\r
     // Allocate and fill a buffer large enough to hold the <ConfigHdr> template \r
     // followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator\r
     //\r
-    Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);\r
+    Size = (StrLen (mDriverSampleConfigHdr) + 32 + 1) * sizeof (CHAR16);\r
     ConfigRequest = AllocateZeroPool (Size);\r
-    UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);\r
-    FreePool (ConfigRequestHdr);\r
+    UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", mDriverSampleConfigHdr, (UINT64)BufferSize);\r
   } else {\r
-    ConfigRequest = Request;\r
-  }\r
-\r
-  //\r
-  // Check routing data in <ConfigHdr>.\r
-  // Note: if only one Storage is used, then this checking could be skipped.\r
-  //\r
-  if (!HiiIsConfigHdrMatch (ConfigRequest, &mFormSetGuid, VariableName)) {\r
-    if (Request == NULL) {\r
-      FreePool (ConfigRequest);\r
+    //\r
+    // Check routing data in <ConfigHdr>.\r
+    // Note: if only one Storage is used, then this checking could be skipped.\r
+    //\r
+    if (!HiiIsConfigHdrMatch (Request, &mFormSetGuid, VariableName)) {\r
+      return EFI_NOT_FOUND;\r
     }\r
-    return EFI_NOT_FOUND;\r
+    ConfigRequest = Request;\r
   }\r
 \r
   //\r
index fa7ca90..2419186 100644 (file)
@@ -1218,11 +1218,15 @@ PlatOverMngrRouteConfig (
   if (!HiiIsConfigHdrMatch (Configuration, &mPlatformOverridesManagerGuid, mVariableName)) {\r
     return EFI_NOT_FOUND;\r
   }\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
+    //\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
@@ -1242,7 +1246,6 @@ PlatOverMngrRouteConfig (
     CommintChanges (Private, KeyValue, FakeNvData);\r
   }\r
 \r
-  *Progress = Configuration + StrLen (Configuration);\r
   return EFI_SUCCESS;\r
 }\r
 \r