summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuiyu Ni <ruiyu.ni@intel.com>2018-04-13 12:13:52 +0800
committerRuiyu Ni <ruiyu.ni@intel.com>2018-05-03 11:29:49 +0800
commitebafede928b6402b90a1ac2bc5175e50f1a60884 (patch)
tree998b6477dfeb2229980dadd80cf62bee820fd619
parent3ff82ee5fc52c8e8764b407ec45cafab8452e2b9 (diff)
downloadedk2-ebafede928b6402b90a1ac2bc5175e50f1a60884.zip
edk2-ebafede928b6402b90a1ac2bc5175e50f1a60884.tar.gz
edk2-ebafede928b6402b90a1ac2bc5175e50f1a60884.tar.bz2
MdeModulePkg/Terminal: Check status of OpenProtocol in BindingStart
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=917 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Steven Shi <steven.shi@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
-rw-r--r--MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
index 60de2d4..66dd3ad 100644
--- a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
@@ -2,7 +2,7 @@
Produces Simple Text Input Protocol, Simple Text Input Extended Protocol and
Simple Text Output Protocol upon Serial IO Protocol.
-Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -488,6 +488,9 @@ TerminalDriverBindingStart (
EFI_OPEN_PROTOCOL_BY_DRIVER
);
ASSERT ((Status == EFI_SUCCESS) || (Status == EFI_ALREADY_STARTED));
+ if (EFI_ERROR (Status) && (Status != EFI_ALREADY_STARTED)) {
+ return Status;
+ }
//
// Open the Serial I/O Protocol BY_DRIVER. It might already be started.
@@ -501,6 +504,9 @@ TerminalDriverBindingStart (
EFI_OPEN_PROTOCOL_BY_DRIVER
);
ASSERT ((Status == EFI_SUCCESS) || (Status == EFI_ALREADY_STARTED));
+ if (EFI_ERROR (Status) && (Status != EFI_ALREADY_STARTED)) {
+ return Status;
+ }
if (!IsHotPlugDevice (ParentDevicePath)) {
//