Fixed one bug in consplitter console input Start/Stop functions for those handlers only produce SimpleTextIn and not produce SimpleTextEx protocol.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5914 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff
2008-09-17 09:55:05 +00:00
parent 205564ad9b
commit 04b9f76313
2 changed files with 18 additions and 26 deletions

View File

@ -12,11 +12,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
//
// Include common header file for this module.
//
#include <ConPlatform.h> #include <ConPlatform.h>
// //

View File

@ -1094,15 +1094,14 @@ ConSplitterConInDriverBindingStart (
mConIn.VirtualHandle, mConIn.VirtualHandle,
EFI_OPEN_PROTOCOL_GET_PROTOCOL EFI_OPEN_PROTOCOL_GET_PROTOCOL
); );
if (EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
return Status; //
// If Simple Text Input Ex protocol exists,
// add this device into Text In Ex devices list.
//
Status = ConSplitterTextInExAddDevice (&mConIn, TextInEx);
} }
//
// Add this device into Text In Ex devices list.
//
Status = ConSplitterTextInExAddDevice (&mConIn, TextInEx);
return Status; return Status;
} }
@ -1455,10 +1454,10 @@ ConSplitterConInDriverBindingStop (
IN EFI_HANDLE *ChildHandleBuffer IN EFI_HANDLE *ChildHandleBuffer
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn; EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn;
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInEx; EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInEx;
if (NumberOfChildren == 0) { if (NumberOfChildren == 0) {
return EFI_SUCCESS; return EFI_SUCCESS;
} }
@ -1471,19 +1470,17 @@ ConSplitterConInDriverBindingStop (
ControllerHandle, ControllerHandle,
EFI_OPEN_PROTOCOL_GET_PROTOCOL EFI_OPEN_PROTOCOL_GET_PROTOCOL
); );
if (EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
return Status; //
// If Simple Text Input Ex protocol exists,
// remove device from Text Input Ex devices list.
//
Status = ConSplitterTextInExDeleteDevice (&mConIn, TextInEx);
if (EFI_ERROR (Status)) {
return Status;
}
} }
//
// Remove device from Text Input Ex devices list.
//
Status = ConSplitterTextInExDeleteDevice (&mConIn, TextInEx);
if (EFI_ERROR (Status)) {
return Status;
}
// //
// Close Simple Text In protocol on controller handle and virtual handle. // Close Simple Text In protocol on controller handle and virtual handle.
// //