]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c
Fixed one bug in consplitter console input Start/Stop functions for those handlers...
[mirror_edk2.git] / MdeModulePkg / Universal / Console / ConSplitterDxe / ConSplitter.c
index db9f24524bd764e2633ab49b5a4344960b8db41c..91b540a3996bde561ebc2be131dff60a73b2c863 100644 (file)
@@ -1094,15 +1094,14 @@ ConSplitterConInDriverBindingStart (
                   mConIn.VirtualHandle,\r
                   EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
                   );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
+  if (!EFI_ERROR (Status)) {\r
+    //\r
+    // If Simple Text Input Ex protocol exists,\r
+    // add this device into Text In Ex devices list.\r
+    //\r
+    Status = ConSplitterTextInExAddDevice (&mConIn, TextInEx);\r
   }\r
 \r
-  //\r
-  // Add this device into Text In Ex devices list.\r
-  //\r
-  Status = ConSplitterTextInExAddDevice (&mConIn, TextInEx);\r
-\r
   return Status;\r
 }\r
 \r
@@ -1455,10 +1454,10 @@ ConSplitterConInDriverBindingStop (
   IN  EFI_HANDLE                      *ChildHandleBuffer\r
   )\r
 {\r
-  EFI_STATUS                     Status;\r
-  EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn;\r
-\r
+  EFI_STATUS                        Status;\r
+  EFI_SIMPLE_TEXT_INPUT_PROTOCOL    *TextIn;\r
   EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInEx;\r
+\r
   if (NumberOfChildren == 0) {\r
     return EFI_SUCCESS;\r
   }\r
@@ -1471,19 +1470,17 @@ ConSplitterConInDriverBindingStop (
                   ControllerHandle,\r
                   EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
                   );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  //\r
-  // Remove device from Text Input Ex devices list.\r
-  //  \r
-  Status = ConSplitterTextInExDeleteDevice (&mConIn, TextInEx);\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
+  if (!EFI_ERROR (Status)) {\r
+    //\r
+    // If Simple Text Input Ex protocol exists,\r
+    // remove device from Text Input Ex devices list.\r
+    //  \r
+    Status = ConSplitterTextInExDeleteDevice (&mConIn, TextInEx);\r
+    if (EFI_ERROR (Status)) {\r
+      return Status;\r
+    }\r
   }\r
 \r
-\r
   //\r
   // Close Simple Text In protocol on controller handle and virtual handle.\r
   //\r