]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellDriver1CommandsLib/DrvCfg.c
ShellPkg: Clean up source files
[mirror_edk2.git] / ShellPkg / Library / UefiShellDriver1CommandsLib / DrvCfg.c
index ea3e63a8c79875cd8f5f3e33f013913ba3c73e31..1bc2974797857877837218c840a8d13690cc16fb 100644 (file)
@@ -1,8 +1,8 @@
 /** @file\r
   Main file for DrvCfg shell Driver1 function.\r
 \r
-  Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR>\r
-  Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
+  (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
@@ -30,7 +30,6 @@ STATIC CONST EFI_GUID *CfgGuidList[] = {&gEfiDriverConfigurationProtocolGuid, &g
   @retval EFI_NOT_FOUND   There was no EFI_HII_HANDLE found for that deviec path.\r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
 FindHiiHandleViaDevPath(\r
   IN CONST EFI_DEVICE_PATH_PROTOCOL *DevPath1,\r
   OUT EFI_HII_HANDLE                *HiiHandle,\r
@@ -57,8 +56,11 @@ FindHiiHandleViaDevPath(
   Status = HiiDb->ListPackageLists(HiiDb, EFI_HII_PACKAGE_DEVICE_PATH, NULL, &HandleBufferSize, HandleBuffer);\r
   if (Status == EFI_BUFFER_TOO_SMALL) {\r
     HandleBuffer = AllocateZeroPool(HandleBufferSize);\r
-    ASSERT (HandleBuffer != NULL);\r
-    Status = HiiDb->ListPackageLists(HiiDb, EFI_HII_PACKAGE_DEVICE_PATH, NULL, &HandleBufferSize, HandleBuffer);\r
+    if (HandleBuffer == NULL) {\r
+      Status = EFI_OUT_OF_RESOURCES;\r
+    } else {\r
+      Status = HiiDb->ListPackageLists (HiiDb, EFI_HII_PACKAGE_DEVICE_PATH, NULL, &HandleBufferSize, HandleBuffer);\r
+    }\r
   }\r
   if (EFI_ERROR(Status)) {\r
     SHELL_FREE_NON_NULL(HandleBuffer);\r
@@ -75,8 +77,12 @@ FindHiiHandleViaDevPath(
     Status = HiiDb->ExportPackageLists(HiiDb, HandleBuffer[LoopVariable], &MainBufferSize, MainBuffer);\r
     if (Status == EFI_BUFFER_TOO_SMALL) {\r
       MainBuffer = AllocateZeroPool(MainBufferSize);\r
-      ASSERT (MainBuffer != NULL);\r
-      Status = HiiDb->ExportPackageLists(HiiDb, HandleBuffer[LoopVariable], &MainBufferSize, MainBuffer);\r
+      if (MainBuffer != NULL) {\r
+        Status = HiiDb->ExportPackageLists (HiiDb, HandleBuffer[LoopVariable], &MainBufferSize, MainBuffer);\r
+      }\r
+    }\r
+    if (EFI_ERROR (Status)) {\r
+      continue;\r
     }\r
     //\r
     // Enumerate through the block of returned memory.\r
@@ -117,7 +123,6 @@ FindHiiHandleViaDevPath(
   @retval EFI_SUCCESS   The operation was successful.\r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
 ConvertHandleToHiiHandle(\r
   IN CONST EFI_HANDLE           Handle,\r
   OUT EFI_HII_HANDLE            *HiiHandle,\r
@@ -152,7 +157,6 @@ ConvertHandleToHiiHandle(
   @param[in] FileName         The filename to rwite the info to.\r
 **/\r
 SHELL_STATUS\r
-EFIAPI\r
 ConfigToFile(\r
   IN CONST EFI_HANDLE     Handle,\r
   IN CONST CHAR16         *FileName\r
@@ -179,7 +183,7 @@ ConfigToFile(
       STRING_TOKEN(STR_GEN_FILE_OPEN_FAIL),\r
       gShellDriver1HiiHandle,\r
       L"drvcfg",\r
-      FileName, \r
+      FileName,\r
       Status);\r
     return (SHELL_DEVICE_ERROR);\r
   }\r
@@ -195,31 +199,32 @@ ConfigToFile(
 \r
   if (EFI_ERROR(Status) || HiiDatabase == NULL) {\r
     ShellPrintHiiEx(\r
-      -1, \r
-      -1, \r
+      -1,\r
+      -1,\r
       NULL,\r
-      STRING_TOKEN(STR_GEN_PROTOCOL_NF), \r
+      STRING_TOKEN(STR_GEN_PROTOCOL_NF),\r
       gShellDriver1HiiHandle,\r
       L"drvcfg",\r
-      L"EfiHiiDatabaseProtocol", \r
+      L"EfiHiiDatabaseProtocol",\r
       &gEfiHiiDatabaseProtocolGuid);\r
     ShellCloseFile(&FileHandle);\r
     return (SHELL_NOT_FOUND);\r
   }\r
 \r
+  HiiHandle = NULL;\r
   Status = ConvertHandleToHiiHandle(Handle, &HiiHandle, HiiDatabase);\r
   if (EFI_ERROR(Status)) {\r
     ShellPrintHiiEx(\r
-      -1, \r
-      -1, \r
-      NULL, \r
-      STRING_TOKEN(STR_GEN_HANDLE_NOT), \r
+      -1,\r
+      -1,\r
+      NULL,\r
+      STRING_TOKEN(STR_GEN_HANDLE_NOT),\r
       gShellDriver1HiiHandle,\r
       L"drvcfg",\r
-      ConvertHandleToHandleIndex(Handle), \r
+      ConvertHandleToHandleIndex(Handle),\r
       L"Device");\r
     ShellCloseFile(&FileHandle);\r
-    return (SHELL_DEVICE_ERROR);   \r
+    return (SHELL_DEVICE_ERROR);\r
   }\r
 \r
   Status = HiiDatabase->ExportPackageLists(HiiDatabase, HiiHandle, &MainBufferSize, MainBuffer);\r
@@ -235,20 +240,20 @@ ConfigToFile(
 \r
   if (EFI_ERROR(Status)) {\r
     ShellPrintHiiEx(\r
-      -1, \r
+      -1,\r
       -1,\r
       NULL,\r
-      STRING_TOKEN(STR_FILE_WRITE_FAIL), \r
+      STRING_TOKEN(STR_FILE_WRITE_FAIL),\r
       gShellDriver1HiiHandle,\r
       L"drvcfg",\r
       FileName);\r
-    return (SHELL_DEVICE_ERROR);   \r
+    return (SHELL_DEVICE_ERROR);\r
   }\r
   ShellPrintHiiEx(\r
-    -1, \r
+    -1,\r
     -1,\r
     NULL,\r
-    STRING_TOKEN(STR_DRVCFG_COMP), \r
+    STRING_TOKEN(STR_DRVCFG_COMP),\r
     gShellDriver1HiiHandle);\r
 \r
   return (SHELL_SUCCESS);\r
@@ -261,7 +266,6 @@ ConfigToFile(
   @param[in] FileName         The filename to read the info from.\r
 **/\r
 SHELL_STATUS\r
-EFIAPI\r
 ConfigFromFile(\r
   IN       EFI_HANDLE     Handle,\r
   IN CONST CHAR16         *FileName\r
@@ -292,9 +296,9 @@ ConfigFromFile(
       -1,\r
       NULL,\r
       STRING_TOKEN(STR_GEN_FILE_OPEN_FAIL),\r
-      gShellDriver1HiiHandle, \r
+      gShellDriver1HiiHandle,\r
       L"drvcfg",\r
-      FileName, \r
+      FileName,\r
       Status);\r
     return (SHELL_DEVICE_ERROR);\r
   }\r
@@ -310,13 +314,13 @@ ConfigFromFile(
 \r
   if (EFI_ERROR(Status) || HiiDatabase == NULL) {\r
     ShellPrintHiiEx(\r
-      -1, \r
-      -1, \r
+      -1,\r
+      -1,\r
       NULL,\r
-      STRING_TOKEN(STR_GEN_PROTOCOL_NF), \r
-      gShellDriver1HiiHandle, \r
+      STRING_TOKEN(STR_GEN_PROTOCOL_NF),\r
+      gShellDriver1HiiHandle,\r
       L"drvcfg",\r
-      L"EfiHiiDatabaseProtocol", \r
+      L"EfiHiiDatabaseProtocol",\r
       &gEfiHiiDatabaseProtocolGuid);\r
     ShellCloseFile(&FileHandle);\r
     return (SHELL_NOT_FOUND);\r
@@ -326,42 +330,42 @@ ConfigFromFile(
   MainBufferSize = (UINTN)Temp;\r
   if (EFI_ERROR(Status)) {\r
     ShellPrintHiiEx(\r
-      -1, \r
-      -1, \r
-      NULL, \r
-      STRING_TOKEN(STR_FILE_READ_FAIL), \r
+      -1,\r
+      -1,\r
+      NULL,\r
+      STRING_TOKEN(STR_FILE_READ_FAIL),\r
       gShellDriver1HiiHandle,\r
       L"drvcfg",\r
       FileName);\r
 \r
     ShellCloseFile(&FileHandle);\r
-    return (SHELL_DEVICE_ERROR);   \r
+    return (SHELL_DEVICE_ERROR);\r
   }\r
-  MainBuffer = AllocateZeroPool((UINTN)MainBufferSize);  \r
+  MainBuffer = AllocateZeroPool((UINTN)MainBufferSize);\r
   if (EFI_ERROR(Status)) {\r
     ShellPrintHiiEx(\r
-      -1, \r
-      -1, \r
-      NULL, \r
-      STRING_TOKEN(STR_GEN_OUT_MEM), \r
+      -1,\r
+      -1,\r
+      NULL,\r
+      STRING_TOKEN(STR_GEN_OUT_MEM),\r
       gShellDriver1HiiHandle, L"drvcfg");\r
     ShellCloseFile(&FileHandle);\r
-    return (SHELL_DEVICE_ERROR);   \r
+    return (SHELL_DEVICE_ERROR);\r
   }\r
   Status = ShellReadFile(FileHandle, &MainBufferSize, MainBuffer);\r
   if (EFI_ERROR(Status)) {\r
     ShellPrintHiiEx(\r
-      -1, \r
-      -1, \r
-      NULL, \r
-      STRING_TOKEN(STR_FILE_READ_FAIL), \r
-      gShellDriver1HiiHandle, \r
+      -1,\r
+      -1,\r
+      NULL,\r
+      STRING_TOKEN(STR_FILE_READ_FAIL),\r
+      gShellDriver1HiiHandle,\r
       L"drvcfg",\r
       FileName);\r
 \r
     ShellCloseFile(&FileHandle);\r
     SHELL_FREE_NON_NULL(MainBuffer);\r
-    return (SHELL_DEVICE_ERROR);   \r
+    return (SHELL_DEVICE_ERROR);\r
   }\r
 \r
   ShellCloseFile(&FileHandle);\r
@@ -374,28 +378,28 @@ ConfigFromFile(
     Status = ConvertHandleToHiiHandle(Handle, &HiiHandle, HiiDatabase);\r
     if (EFI_ERROR(Status)) {\r
       ShellPrintHiiEx(\r
-        -1, \r
-        -1, \r
-        NULL, \r
-        STRING_TOKEN(STR_GEN_HANDLE_NOT), \r
+        -1,\r
+        -1,\r
+        NULL,\r
+        STRING_TOKEN(STR_GEN_HANDLE_NOT),\r
         gShellDriver1HiiHandle, L"drvcfg",\r
-        ConvertHandleToHandleIndex(Handle), \r
+        ConvertHandleToHandleIndex(Handle),\r
         L"Device");\r
       ShellCloseFile(&FileHandle);\r
-      return (SHELL_DEVICE_ERROR);   \r
+      return (SHELL_DEVICE_ERROR);\r
     }\r
     Status = HiiDatabase->UpdatePackageList(HiiDatabase, HiiHandle, MainBuffer);\r
     if (EFI_ERROR(Status)) {\r
       ShellPrintHiiEx(\r
-        -1, \r
-        -1, \r
-        NULL, \r
+        -1,\r
+        -1,\r
+        NULL,\r
         STRING_TOKEN(STR_GEN_UEFI_FUNC_WARN),\r
         gShellDriver1HiiHandle,\r
         L"drvcfg",\r
-        L"HiiDatabase->UpdatePackageList", \r
+        L"HiiDatabase->UpdatePackageList",\r
         Status);\r
-      return (SHELL_DEVICE_ERROR);   \r
+      return (SHELL_DEVICE_ERROR);\r
     }\r
   } else {\r
     //\r
@@ -417,24 +421,24 @@ ConfigFromFile(
                 //\r
                 TempDevPathString = ConvertDevicePathToText((EFI_DEVICE_PATH_PROTOCOL*)(((CHAR8*)PackageHeader) + sizeof(EFI_HII_PACKAGE_HEADER)), TRUE, TRUE);\r
                 ShellPrintHiiEx(\r
-                  -1, \r
-                  -1, \r
-                  NULL, \r
-                  STRING_TOKEN(STR_DRVCFG_IN_FILE_NF), \r
-                  gShellDriver1HiiHandle, \r
+                  -1,\r
+                  -1,\r
+                  NULL,\r
+                  STRING_TOKEN(STR_DRVCFG_IN_FILE_NF),\r
+                  gShellDriver1HiiHandle,\r
                   TempDevPathString);\r
                 SHELL_FREE_NON_NULL(TempDevPathString);\r
              } else {\r
                 Status = HiiDatabase->UpdatePackageList(HiiDatabase, HiiHandle, PackageListHeader);\r
                 if (EFI_ERROR(Status)) {\r
                   ShellPrintHiiEx(\r
-                    -1, \r
-                    -1, \r
-                    NULL, \r
+                    -1,\r
+                    -1,\r
+                    NULL,\r
                     STRING_TOKEN(STR_GEN_UEFI_FUNC_WARN),\r
-                    gShellDriver1HiiHandle, \r
+                    gShellDriver1HiiHandle,\r
                     L"drvcfg",\r
-                    L"HiiDatabase->UpdatePackageList", \r
+                    L"HiiDatabase->UpdatePackageList",\r
                     Status);\r
                   return (SHELL_DEVICE_ERROR);\r
                 } else {\r
@@ -442,14 +446,14 @@ ConfigFromFile(
                   gBS->LocateDevicePath(&gEfiHiiConfigAccessProtocolGuid, &DevPath, &Handle);\r
                   HandleIndex = ConvertHandleToHandleIndex(Handle);\r
                   ShellPrintHiiEx(\r
-                    -1, \r
-                    -1, \r
-                    NULL, \r
-                    STRING_TOKEN(STR_DRVCFG_DONE_HII), \r
-                    gShellDriver1HiiHandle, \r
+                    -1,\r
+                    -1,\r
+                    NULL,\r
+                    STRING_TOKEN(STR_DRVCFG_DONE_HII),\r
+                    gShellDriver1HiiHandle,\r
                     HandleIndex);\r
                 }\r
-              }              \r
+              }\r
             }\r
         }\r
     }\r
@@ -459,10 +463,10 @@ ConfigFromFile(
 \r
 \r
   ShellPrintHiiEx(\r
-    -1, \r
+    -1,\r
     -1,\r
     NULL,\r
-    STRING_TOKEN(STR_DRVCFG_COMP), \r
+    STRING_TOKEN(STR_DRVCFG_COMP),\r
     gShellDriver1HiiHandle);\r
   return (SHELL_SUCCESS);\r
 }\r
@@ -478,7 +482,6 @@ ConfigFromFile(
   @retval SHELL_INVALID_PARAMETER   A parameter has a invalid value.\r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
 ShellCmdDriverConfigurationProcessActionRequired (\r
   EFI_HANDLE                                DriverImageHandle,\r
   EFI_HANDLE                                ControllerHandle,\r
@@ -546,7 +549,6 @@ ShellCmdDriverConfigurationProcessActionRequired (
   @retval SHELL_INVALID_PARAMETER   A parameter has a invalid value.\r
 **/\r
 SHELL_STATUS\r
-EFIAPI\r
 PreHiiDrvCfg (\r
   IN CONST CHAR8    *Language,\r
   IN BOOLEAN        ForceDefaults,\r
@@ -591,22 +593,22 @@ PreHiiDrvCfg (
       -1,\r
       -1,\r
       NULL,\r
-      STRING_TOKEN (STR_DRVCFG_FORCE_D), \r
-      gShellDriver1HiiHandle, \r
+      STRING_TOKEN (STR_DRVCFG_FORCE_D),\r
+      gShellDriver1HiiHandle,\r
       DefaultType);\r
   } else if (ValidateOptions) {\r
     ShellPrintHiiEx(\r
       -1,\r
       -1,\r
       NULL,\r
-      STRING_TOKEN (STR_DRVCFG_VALIDATE), \r
+      STRING_TOKEN (STR_DRVCFG_VALIDATE),\r
       gShellDriver1HiiHandle);\r
   } else if (SetOptions) {\r
     ShellPrintHiiEx(\r
       -1,\r
       -1,\r
       NULL,\r
-      STRING_TOKEN (STR_DRVCFG_SET), \r
+      STRING_TOKEN (STR_DRVCFG_SET),\r
       gShellDriver1HiiHandle);\r
   }\r
 \r
@@ -617,8 +619,8 @@ PreHiiDrvCfg (
       goto Done;\r
     }\r
     for (\r
-      HandleBuffer = DriverImageHandleBuffer, DriverImageHandleCount = 0 \r
-      ; HandleBuffer != NULL && *HandleBuffer != NULL \r
+      HandleBuffer = DriverImageHandleBuffer, DriverImageHandleCount = 0\r
+      ; HandleBuffer != NULL && *HandleBuffer != NULL\r
       ; HandleBuffer++,DriverImageHandleCount++);\r
   } else {\r
     DriverImageHandleCount = 1;\r
@@ -664,7 +666,7 @@ PreHiiDrvCfg (
       ShellStatus = SHELL_UNSUPPORTED;\r
       continue;\r
     }\r
-    \r
+\r
     BestLanguage = GetBestLanguage (\r
                           DriverConfiguration->SupportedLanguages,\r
                           Iso639Language,\r
@@ -723,7 +725,7 @@ PreHiiDrvCfg (
           -1,\r
           -1,\r
           NULL,\r
-          STRING_TOKEN (STR_DRVCFG_OPTIONS_SET), \r
+          STRING_TOKEN (STR_DRVCFG_OPTIONS_SET),\r
           gShellDriver1HiiHandle);\r
         for (LoopCounter = 0; LoopCounter < HandleCount; LoopCounter++) {\r
           if ((HandleType[LoopCounter] & HR_CONTROLLER_HANDLE) == HR_CONTROLLER_HANDLE) {\r
@@ -740,8 +742,8 @@ PreHiiDrvCfg (
           -1,\r
           -1,\r
           NULL,\r
-          STRING_TOKEN (STR_DRVCFG_NOT_SET), \r
-          gShellDriver1HiiHandle, \r
+          STRING_TOKEN (STR_DRVCFG_NOT_SET),\r
+          gShellDriver1HiiHandle,\r
           Status);\r
       }\r
       continue;\r
@@ -782,7 +784,7 @@ PreHiiDrvCfg (
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_DEF_FORCED), \r
+              STRING_TOKEN (STR_DRVCFG_DEF_FORCED),\r
               gShellDriver1HiiHandle);\r
             ShellCmdDriverConfigurationProcessActionRequired (\r
               DriverImageHandleBuffer[OuterLoopCounter],\r
@@ -795,8 +797,8 @@ PreHiiDrvCfg (
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_FORCE_FAILED), \r
-              gShellDriver1HiiHandle, \r
+              STRING_TOKEN (STR_DRVCFG_FORCE_FAILED),\r
+              gShellDriver1HiiHandle,\r
               Status);\r
            ShellStatus = SHELL_DEVICE_ERROR;\r
          }\r
@@ -812,15 +814,15 @@ PreHiiDrvCfg (
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_OPTIONS_VALID), \r
+              STRING_TOKEN (STR_DRVCFG_OPTIONS_VALID),\r
               gShellDriver1HiiHandle);\r
           } else {\r
             ShellPrintHiiEx(\r
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_OPTIONS_INV), \r
-              gShellDriver1HiiHandle, \r
+              STRING_TOKEN (STR_DRVCFG_OPTIONS_INV),\r
+              gShellDriver1HiiHandle,\r
               Status);\r
             ShellStatus = SHELL_DEVICE_ERROR;\r
           }\r
@@ -851,7 +853,7 @@ PreHiiDrvCfg (
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_OPTIONS_SET), \r
+              STRING_TOKEN (STR_DRVCFG_OPTIONS_SET),\r
               gShellDriver1HiiHandle);\r
 \r
             ShellCmdDriverConfigurationProcessActionRequired (\r
@@ -866,8 +868,8 @@ PreHiiDrvCfg (
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_NOT_SET), \r
-              gShellDriver1HiiHandle, \r
+              STRING_TOKEN (STR_DRVCFG_NOT_SET),\r
+              gShellDriver1HiiHandle,\r
               Status);\r
             ShellStatus = SHELL_DEVICE_ERROR;\r
           }\r
@@ -929,7 +931,7 @@ PreHiiDrvCfg (
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_DEF_FORCED), \r
+              STRING_TOKEN (STR_DRVCFG_DEF_FORCED),\r
               gShellDriver1HiiHandle);\r
 \r
             ShellCmdDriverConfigurationProcessActionRequired (\r
@@ -944,8 +946,8 @@ PreHiiDrvCfg (
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_FORCE_FAILED), \r
-              gShellDriver1HiiHandle, \r
+              STRING_TOKEN (STR_DRVCFG_FORCE_FAILED),\r
+              gShellDriver1HiiHandle,\r
               Status);\r
             ShellStatus = SHELL_DEVICE_ERROR;\r
           }\r
@@ -961,15 +963,15 @@ PreHiiDrvCfg (
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_OPTIONS_VALID), \r
+              STRING_TOKEN (STR_DRVCFG_OPTIONS_VALID),\r
               gShellDriver1HiiHandle);\r
           } else {\r
             ShellPrintHiiEx(\r
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_OPTIONS_INV), \r
-              gShellDriver1HiiHandle, \r
+              STRING_TOKEN (STR_DRVCFG_OPTIONS_INV),\r
+              gShellDriver1HiiHandle,\r
               Status);\r
             ShellStatus = SHELL_DEVICE_ERROR;\r
           }\r
@@ -1002,7 +1004,7 @@ PreHiiDrvCfg (
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_OPTIONS_SET), \r
+              STRING_TOKEN (STR_DRVCFG_OPTIONS_SET),\r
               gShellDriver1HiiHandle);\r
 \r
             ShellCmdDriverConfigurationProcessActionRequired (\r
@@ -1017,8 +1019,8 @@ PreHiiDrvCfg (
               -1,\r
               -1,\r
               NULL,\r
-              STRING_TOKEN (STR_DRVCFG_NOT_SET), \r
-              gShellDriver1HiiHandle, \r
+              STRING_TOKEN (STR_DRVCFG_NOT_SET),\r
+              gShellDriver1HiiHandle,\r
               Status);\r
             ShellStatus = SHELL_DEVICE_ERROR;\r
           }\r
@@ -1054,7 +1056,6 @@ Done:
   @retval SHELL_SUCCESS     The operation was successful.\r
 **/\r
 SHELL_STATUS\r
-EFIAPI\r
 PrintConfigInfoOnAll(\r
   IN CONST BOOLEAN ChildrenToo,\r
   IN CONST CHAR8   *Language,\r
@@ -1080,11 +1081,11 @@ PrintConfigInfoOnAll(
       Found = TRUE;\r
       Index2 = *CurrentHandle == NULL ? 0 : ConvertHandleToHandleIndex(*CurrentHandle);\r
       ShellPrintHiiEx(\r
-        -1, \r
-        -1, \r
-        NULL, \r
-        STRING_TOKEN (STR_DRVCFG_LINE_HII), \r
-        gShellDriver1HiiHandle, \r
+        -1,\r
+        -1,\r
+        NULL,\r
+        STRING_TOKEN (STR_DRVCFG_LINE_HII),\r
+        gShellDriver1HiiHandle,\r
         Index2\r
         );\r
     }\r
@@ -1170,6 +1171,7 @@ ShellCommandRunDrvCfg (
   Status              = EFI_SUCCESS;\r
   Language            = NULL;\r
   UseHii              = TRUE;\r
+  ProblemParam        = NULL;\r
 \r
   //\r
   // initialize the shell lib (we must be in non-auto-init...)\r
@@ -1201,8 +1203,13 @@ ShellCommandRunDrvCfg (
         ASSERT(FALSE);\r
       }\r
     }\r
-  } \r
+  }\r
   if (ShellStatus == SHELL_SUCCESS) {\r
+    if (ShellCommandLineGetCount(Package) > 4) {\r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDriver1HiiHandle, L"drvcfg");\r
+      ShellStatus = SHELL_INVALID_PARAMETER;\r
+      goto Done;\r
+    }\r
     Lang = ShellCommandLineGetValue(Package, L"-l");\r
     if (Lang != NULL) {\r
       Language = AllocateZeroPool(StrSize(Lang));\r
@@ -1229,24 +1236,24 @@ ShellCommandRunDrvCfg (
     }\r
 \r
     if (InFromFile && EFI_ERROR(ShellFileExists(FileName))) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_FIND_FAIL), gShellDriver1HiiHandle, L"drvcfg", FileName);  \r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_FIND_FAIL), gShellDriver1HiiHandle, L"drvcfg", FileName);\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
-      goto Done;      \r
+      goto Done;\r
     }\r
     if (OutToFile && !EFI_ERROR(ShellFileExists(FileName))) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_FILE_EXIST), gShellDriver1HiiHandle, L"drvcfg", FileName);  \r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_FILE_EXIST), gShellDriver1HiiHandle, L"drvcfg", FileName);\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
-      goto Done;      \r
+      goto Done;\r
     }\r
     if (Force && ForceTypeString == NULL) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDriver1HiiHandle, L"drvcfg", L"-f");  \r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDriver1HiiHandle, L"drvcfg", L"-f");\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
       goto Done;\r
-    } \r
+    }\r
     if (Force) {\r
       Status = ShellConvertStringToUint64(ForceTypeString, &Intermediate, FALSE, FALSE);\r
       if (EFI_ERROR(Status)) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM_VAL), gShellDriver1HiiHandle, L"drvcfg", ForceTypeString, L"-f");  \r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM_VAL), gShellDriver1HiiHandle, L"drvcfg", ForceTypeString, L"-f");\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
         goto Done;\r
       }\r
@@ -1259,7 +1266,7 @@ ShellCommandRunDrvCfg (
     if (HandleIndex1 != NULL && !EFI_ERROR(ShellConvertStringToUint64(HandleIndex1, &Intermediate, TRUE, FALSE))) {\r
       Handle1 = ConvertHandleIndexToHandle((UINTN)Intermediate);\r
       if (Handle1 == NULL || (UINT64)(UINTN)Intermediate != Intermediate) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_INV_HANDLE), gShellDriver1HiiHandle, L"drvcfg", HandleIndex1);  \r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_INV_HANDLE), gShellDriver1HiiHandle, L"drvcfg", HandleIndex1);\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
         goto Done;\r
       }\r
@@ -1269,7 +1276,7 @@ ShellCommandRunDrvCfg (
     if (HandleIndex2 != NULL && !EFI_ERROR(ShellConvertStringToUint64(HandleIndex2, &Intermediate, TRUE, FALSE))) {\r
       Handle2 = ConvertHandleIndexToHandle((UINTN)Intermediate);\r
       if (Handle2 == NULL || (UINT64)(UINTN)Intermediate != Intermediate) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_INV_HANDLE), gShellDriver1HiiHandle, L"drvcfg", HandleIndex2);  \r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_INV_HANDLE), gShellDriver1HiiHandle, L"drvcfg", HandleIndex2);\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
         goto Done;\r
       }\r
@@ -1279,7 +1286,7 @@ ShellCommandRunDrvCfg (
     if (HandleIndex3 != NULL && !EFI_ERROR(ShellConvertStringToUint64(HandleIndex3, &Intermediate, TRUE, FALSE))) {\r
       Handle3 = ConvertHandleIndexToHandle((UINTN)Intermediate);\r
       if (Handle3 == NULL || (UINT64)(UINTN)Intermediate != Intermediate) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_INV_HANDLE), gShellDriver1HiiHandle, L"drvcfg", HandleIndex3);  \r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_INV_HANDLE), gShellDriver1HiiHandle, L"drvcfg", HandleIndex3);\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
         goto Done;\r
       }\r
@@ -1287,42 +1294,42 @@ ShellCommandRunDrvCfg (
 \r
     if ((InFromFile || OutToFile) && (FileName == NULL)) {\r
       if (FileName == NULL) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDriver1HiiHandle, L"drvcfg",  InFromFile?L"-i":L"-o");  \r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDriver1HiiHandle, L"drvcfg",  InFromFile?L"-i":L"-o");\r
       } else {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_HANDLE_REQ), gShellDriver1HiiHandle, L"drvcfg");  \r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_HANDLE_REQ), gShellDriver1HiiHandle, L"drvcfg");\r
       }\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
       goto Done;\r
     }\r
     if (!UseHii && (InFromFile || OutToFile)) {\r
       if (InFromFile) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDriver1HiiHandle, L"drvcfg", L"-i");  \r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDriver1HiiHandle, L"drvcfg", L"-i");\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
         goto Done;\r
-      } \r
+      }\r
       if (OutToFile) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDriver1HiiHandle, L"drvcfg", L"-o");  \r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDriver1HiiHandle, L"drvcfg", L"-o");\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
         goto Done;\r
       }\r
     }\r
     if (Validate && Force) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_CONFLICT), gShellDriver1HiiHandle, L"drvcfg", L"-v", L"-f");  \r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_CONFLICT), gShellDriver1HiiHandle, L"drvcfg", L"-v", L"-f");\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
       goto Done;\r
-    } \r
+    }\r
     if (Validate && Set) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_CONFLICT), gShellDriver1HiiHandle, L"drvcfg", L"-v", L"-s");  \r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_CONFLICT), gShellDriver1HiiHandle, L"drvcfg", L"-v", L"-s");\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
       goto Done;\r
-    } \r
+    }\r
     if (Set && Force) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_CONFLICT), gShellDriver1HiiHandle, L"drvcfg", L"-s", L"-f");  \r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_CONFLICT), gShellDriver1HiiHandle, L"drvcfg", L"-s", L"-f");\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
       goto Done;\r
     }\r
     if (OutToFile && InFromFile) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_CONFLICT), gShellDriver1HiiHandle, L"drvcfg", L"-i", L"-o");  \r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_CONFLICT), gShellDriver1HiiHandle, L"drvcfg", L"-i", L"-o");\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
       goto Done;\r
     }\r
@@ -1358,11 +1365,11 @@ ShellCommandRunDrvCfg (
       } else {\r
         if (!EFI_ERROR(gBS->OpenProtocol(Handle1, &gEfiHiiConfigAccessProtocolGuid, NULL, gImageHandle, NULL, EFI_OPEN_PROTOCOL_TEST_PROTOCOL))) {\r
           ShellPrintHiiEx(\r
-            -1, \r
-            -1, \r
-            NULL, \r
-            STRING_TOKEN (STR_DRVCFG_LINE_HII), \r
-            gShellDriver1HiiHandle, \r
+            -1,\r
+            -1,\r
+            NULL,\r
+            STRING_TOKEN (STR_DRVCFG_LINE_HII),\r
+            gShellDriver1HiiHandle,\r
             ConvertHandleToHandleIndex(Handle1)\r
             );\r
           goto Done;\r
@@ -1392,7 +1399,7 @@ ShellCommandRunDrvCfg (
         -1,\r
         NULL,\r
         STRING_TOKEN (STR_DRVCFG_NOT_SUPPORT),\r
-        gShellDriver1HiiHandle, \r
+        gShellDriver1HiiHandle,\r
         ConvertHandleToHandleIndex(Handle1)\r
         );\r
     }\r