]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Prevent a NULL device path from being passed into REPORT_STATUS_CODE_WITH_DEVICE_PATH...
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 30 Dec 2010 22:29:54 +0000 (22:29 +0000)
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 30 Dec 2010 22:29:54 +0000 (22:29 +0000)
This guarantees that child device path is valid even if an error is returned from one of Serial I/O Protocol services in Start().

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11210 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c

index 7732db8b38627a8ad00b34db775ac8e917ae8f51..04c79aff5a426a140d8931e8880cb33a6a4af8d6 100644 (file)
@@ -737,29 +737,6 @@ TerminalDriverBindingStart (
       goto ReportError;\r
     }\r
 \r
-    Status = TerminalConOutReset (SimpleTextOutput, FALSE);\r
-    if (EFI_ERROR (Status)) {\r
-      goto ReportError;\r
-    }\r
-\r
-    Status = TerminalConOutSetMode (SimpleTextOutput, 0);\r
-    if (EFI_ERROR (Status)) {\r
-      goto ReportError;\r
-    }\r
-\r
-    Status = TerminalConOutEnableCursor (SimpleTextOutput, TRUE);\r
-    if (EFI_ERROR (Status)) {\r
-      goto ReportError;\r
-    }\r
-\r
-    Status = gBS->CreateEvent (\r
-                    EVT_TIMER,\r
-                    TPL_CALLBACK,\r
-                    NULL,\r
-                    NULL,\r
-                    &TerminalDevice->TwoSecondTimeOut\r
-                    );\r
-\r
     //\r
     // Build the component name for the child device\r
     //\r
@@ -850,6 +827,29 @@ TerminalDriverBindingStart (
       goto Error;\r
     }\r
 \r
+    Status = TerminalConOutReset (SimpleTextOutput, FALSE);\r
+    if (EFI_ERROR (Status)) {\r
+      goto ReportError;\r
+    }\r
+\r
+    Status = TerminalConOutSetMode (SimpleTextOutput, 0);\r
+    if (EFI_ERROR (Status)) {\r
+      goto ReportError;\r
+    }\r
+\r
+    Status = TerminalConOutEnableCursor (SimpleTextOutput, TRUE);\r
+    if (EFI_ERROR (Status)) {\r
+      goto ReportError;\r
+    }\r
+\r
+    Status = gBS->CreateEvent (\r
+                    EVT_TIMER,\r
+                    TPL_CALLBACK,\r
+                    NULL,\r
+                    NULL,\r
+                    &TerminalDevice->TwoSecondTimeOut\r
+                    );\r
+\r
     Status = gBS->InstallProtocolInterface (\r
                     &TerminalDevice->Handle,\r
                     &gEfiDevicePathProtocolGuid,\r