From 61fb1657e5b2b37a2ec5c879f6fa7689100f0d54 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Fri, 19 Jan 2007 08:06:15 +0000 Subject: [PATCH] Fix component name bugs when input Controller Name is invalid Fix the driver binding version for platform/OEM specific drivers git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2274 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Bus/Pci/AtapiPassThru/Dxe/AtapiPassThru.c | 2 +- .../Bus/Pci/CirrusLogic/Dxe/CirrusLogic5430.c | 2 +- EdkModulePkg/Bus/Pci/Ehci/Dxe/ComponentName.c | 11 +++++++++ EdkModulePkg/Bus/Pci/Ehci/Dxe/Ehci.c | 2 +- .../Bus/Pci/IdeBus/Dxe/ComponentName.c | 24 ++++++++++++------- EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.c | 2 +- EdkModulePkg/Bus/Pci/PciBus/Dxe/pcibus.c | 2 +- EdkModulePkg/Bus/Pci/Uhci/Dxe/ComponentName.c | 11 +++++++++ EdkModulePkg/Bus/Pci/Uhci/Dxe/uhci.c | 2 +- EdkModulePkg/Bus/Pci/Undi/RuntimeDxe/Init.c | 2 +- EdkModulePkg/Bus/Scsi/ScsiBus/Dxe/ScsiBus.c | 2 +- .../Bus/Scsi/ScsiDisk/Dxe/ComponentName.c | 11 +++++++++ EdkModulePkg/Bus/Scsi/ScsiDisk/Dxe/ScsiDisk.c | 2 +- .../Bus/Usb/UsbBot/Dxe/ComponentName.c | 12 +++++++++- EdkModulePkg/Bus/Usb/UsbBot/Dxe/bot.c | 2 +- EdkModulePkg/Bus/Usb/UsbBus/Dxe/usbbus.c | 2 +- EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/Cbi0.c | 2 +- .../Bus/Usb/UsbCbi/Dxe/Cbi0/ComponentName.c | 12 +++++++++- EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi1/cbi1.c | 2 +- EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.c | 2 +- .../Usb/UsbMassStorage/Dxe/UsbMassStorage.c | 2 +- EdkModulePkg/Bus/Usb/UsbMouse/Dxe/usbmouse.c | 2 +- .../Universal/ConPlatform/Dxe/ConPlatform.c | 4 ++-- .../Console/ConSplitter/Dxe/ConSplitter.c | 8 +++---- .../GraphicsConsole/Dxe/GraphicsConsole.c | 2 +- .../Console/Terminal/Dxe/ComponentName.c | 22 +++++++++++++++++ .../Universal/Console/Terminal/Dxe/Terminal.c | 2 +- .../Universal/Disk/DiskIo/Dxe/diskio.c | 2 +- .../Universal/Disk/Partition/Dxe/Partition.c | 2 +- EdkModulePkg/Universal/Network/PxeBc/Dxe/bc.c | 2 +- .../Universal/Network/PxeDhcp4/Dxe/PxeDhcp4.c | 2 +- .../Universal/Network/Snp32_64/Dxe/snp.c | 2 +- 32 files changed, 121 insertions(+), 40 deletions(-) diff --git a/EdkModulePkg/Bus/Pci/AtapiPassThru/Dxe/AtapiPassThru.c b/EdkModulePkg/Bus/Pci/AtapiPassThru/Dxe/AtapiPassThru.c index 8eac997fc7..f11158bb9c 100644 --- a/EdkModulePkg/Bus/Pci/AtapiPassThru/Dxe/AtapiPassThru.c +++ b/EdkModulePkg/Bus/Pci/AtapiPassThru/Dxe/AtapiPassThru.c @@ -93,7 +93,7 @@ EFI_DRIVER_BINDING_PROTOCOL gAtapiScsiPassThruDriverBinding = { AtapiScsiPassThruDriverBindingSupported, AtapiScsiPassThruDriverBindingStart, AtapiScsiPassThruDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Pci/CirrusLogic/Dxe/CirrusLogic5430.c b/EdkModulePkg/Bus/Pci/CirrusLogic/Dxe/CirrusLogic5430.c index 68c483071c..c5fa53464f 100644 --- a/EdkModulePkg/Bus/Pci/CirrusLogic/Dxe/CirrusLogic5430.c +++ b/EdkModulePkg/Bus/Pci/CirrusLogic/Dxe/CirrusLogic5430.c @@ -30,7 +30,7 @@ EFI_DRIVER_BINDING_PROTOCOL gCirrusLogic5430DriverBinding = { CirrusLogic5430ControllerDriverSupported, CirrusLogic5430ControllerDriverStart, CirrusLogic5430ControllerDriverStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Pci/Ehci/Dxe/ComponentName.c b/EdkModulePkg/Bus/Pci/Ehci/Dxe/ComponentName.c index e0d2010cd4..12cb7665d1 100644 --- a/EdkModulePkg/Bus/Pci/Ehci/Dxe/ComponentName.c +++ b/EdkModulePkg/Bus/Pci/Ehci/Dxe/ComponentName.c @@ -162,6 +162,17 @@ EhciComponentNameGetControllerName ( return EFI_UNSUPPORTED; } // + // Make sure this driver is currently managing ControllerHandle + // + Status = EfiTestManagedDevice ( + ControllerHandle, + gEhciDriverBinding.DriverBindingHandle, + &gEfiPciIoProtocolGuid + ); + if (EFI_ERROR (Status)) { + return Status; + } + // // Get the device context // Status = gBS->OpenProtocol ( diff --git a/EdkModulePkg/Bus/Pci/Ehci/Dxe/Ehci.c b/EdkModulePkg/Bus/Pci/Ehci/Dxe/Ehci.c index 8f32abf0dc..2d6dc838a4 100644 --- a/EdkModulePkg/Bus/Pci/Ehci/Dxe/Ehci.c +++ b/EdkModulePkg/Bus/Pci/Ehci/Dxe/Ehci.c @@ -218,7 +218,7 @@ EFI_DRIVER_BINDING_PROTOCOL gEhciDriverBinding = { EhciDriverBindingSupported, EhciDriverBindingStart, EhciDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Pci/IdeBus/Dxe/ComponentName.c b/EdkModulePkg/Bus/Pci/IdeBus/Dxe/ComponentName.c index edead729b4..12673c9c92 100644 --- a/EdkModulePkg/Bus/Pci/IdeBus/Dxe/ComponentName.c +++ b/EdkModulePkg/Bus/Pci/IdeBus/Dxe/ComponentName.c @@ -125,16 +125,13 @@ IDEBusComponentNameGetControllerName ( IDE_BLK_IO_DEV *IdeBlkIoDevice; // - // Get the controller context + // Make sure this driver is currently managing ControllHandle // - Status = gBS->OpenProtocol ( - ControllerHandle, - &gEfiCallerIdGuid, - NULL, - gIDEBusDriverBinding.DriverBindingHandle, - ControllerHandle, - EFI_OPEN_PROTOCOL_TEST_PROTOCOL - ); + Status = EfiTestManagedDevice ( + ControllerHandle, + gIDEBusDriverBinding.DriverBindingHandle, + &gEfiIdeControllerInitProtocolGuid + ); if (EFI_ERROR (Status)) { return Status; } @@ -148,6 +145,15 @@ IDEBusComponentNameGetControllerName ( ); } + Status = EfiTestChildHandle ( + ControllerHandle, + ChildHandle, + &gEfiPciIoProtocolGuid + ); + if (EFI_ERROR (Status)) { + return Status; + } + // // Get the child context // diff --git a/EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.c b/EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.c index 3b0e69e929..c0cec601b8 100644 --- a/EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.c +++ b/EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.c @@ -26,7 +26,7 @@ EFI_DRIVER_BINDING_PROTOCOL gIDEBusDriverBinding = { IDEBusDriverBindingSupported, IDEBusDriverBindingStart, IDEBusDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Pci/PciBus/Dxe/pcibus.c b/EdkModulePkg/Bus/Pci/PciBus/Dxe/pcibus.c index ed56578757..43d3e38dd1 100644 --- a/EdkModulePkg/Bus/Pci/PciBus/Dxe/pcibus.c +++ b/EdkModulePkg/Bus/Pci/PciBus/Dxe/pcibus.c @@ -67,7 +67,7 @@ EFI_DRIVER_BINDING_PROTOCOL gPciBusDriverBinding = { PciBusDriverBindingSupported, PciBusDriverBindingStart, PciBusDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Pci/Uhci/Dxe/ComponentName.c b/EdkModulePkg/Bus/Pci/Uhci/Dxe/ComponentName.c index 71d9339a8f..909912f329 100644 --- a/EdkModulePkg/Bus/Pci/Uhci/Dxe/ComponentName.c +++ b/EdkModulePkg/Bus/Pci/Uhci/Dxe/ComponentName.c @@ -162,6 +162,17 @@ UhciComponentNameGetControllerName ( return EFI_UNSUPPORTED; } // + // Make sure this driver is currently managing ControllerHandle + // + Status = EfiTestManagedDevice ( + ControllerHandle, + gUhciDriverBinding.DriverBindingHandle, + &gEfiPciIoProtocolGuid + ); + if (EFI_ERROR (Status)) { + return Status; + } + // // Get the device context // Status = gBS->OpenProtocol ( diff --git a/EdkModulePkg/Bus/Pci/Uhci/Dxe/uhci.c b/EdkModulePkg/Bus/Pci/Uhci/Dxe/uhci.c index 14f8bf2790..96c5be48ba 100644 --- a/EdkModulePkg/Bus/Pci/Uhci/Dxe/uhci.c +++ b/EdkModulePkg/Bus/Pci/Uhci/Dxe/uhci.c @@ -364,7 +364,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUhciDriverBinding = { UHCIDriverBindingSupported, UHCIDriverBindingStart, UHCIDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Pci/Undi/RuntimeDxe/Init.c b/EdkModulePkg/Bus/Pci/Undi/RuntimeDxe/Init.c index ecb32f9adf..a5692f4dbd 100644 --- a/EdkModulePkg/Bus/Pci/Undi/RuntimeDxe/Init.c +++ b/EdkModulePkg/Bus/Pci/Undi/RuntimeDxe/Init.c @@ -192,7 +192,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUndiDriverBinding = { UndiDriverSupported, UndiDriverStart, UndiDriverStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Scsi/ScsiBus/Dxe/ScsiBus.c b/EdkModulePkg/Bus/Scsi/ScsiBus/Dxe/ScsiBus.c index 6a3778c919..2ef31fb38c 100644 --- a/EdkModulePkg/Bus/Scsi/ScsiBus/Dxe/ScsiBus.c +++ b/EdkModulePkg/Bus/Scsi/ScsiBus/Dxe/ScsiBus.c @@ -50,7 +50,7 @@ EFI_DRIVER_BINDING_PROTOCOL gSCSIBusDriverBinding = { SCSIBusDriverBindingSupported, SCSIBusDriverBindingStart, SCSIBusDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Scsi/ScsiDisk/Dxe/ComponentName.c b/EdkModulePkg/Bus/Scsi/ScsiDisk/Dxe/ComponentName.c index 15f02d6c41..e1d0f8d470 100644 --- a/EdkModulePkg/Bus/Scsi/ScsiDisk/Dxe/ComponentName.c +++ b/EdkModulePkg/Bus/Scsi/ScsiDisk/Dxe/ComponentName.c @@ -162,6 +162,17 @@ ScsiDiskComponentNameGetControllerName ( return EFI_UNSUPPORTED; } + // + // Make sure this driver is currently managing ControllerHandle + // + Status = EfiTestManagedDevice ( + ControllerHandle, + gScsiDiskDriverBinding.DriverBindingHandle, + &gEfiScsiIoProtocolGuid + ); + if (EFI_ERROR (Status)) { + return Status; + } // // Get the device context // diff --git a/EdkModulePkg/Bus/Scsi/ScsiDisk/Dxe/ScsiDisk.c b/EdkModulePkg/Bus/Scsi/ScsiDisk/Dxe/ScsiDisk.c index 88c4c3aec8..4be2c38817 100644 --- a/EdkModulePkg/Bus/Scsi/ScsiDisk/Dxe/ScsiDisk.c +++ b/EdkModulePkg/Bus/Scsi/ScsiDisk/Dxe/ScsiDisk.c @@ -48,7 +48,7 @@ EFI_DRIVER_BINDING_PROTOCOL gScsiDiskDriverBinding = { ScsiDiskDriverBindingSupported, ScsiDiskDriverBindingStart, ScsiDiskDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Usb/UsbBot/Dxe/ComponentName.c b/EdkModulePkg/Bus/Usb/UsbBot/Dxe/ComponentName.c index 6a9cf13456..34ab75864f 100644 --- a/EdkModulePkg/Bus/Usb/UsbBot/Dxe/ComponentName.c +++ b/EdkModulePkg/Bus/Usb/UsbBot/Dxe/ComponentName.c @@ -161,7 +161,17 @@ UsbBotComponentNameGetControllerName ( if (ChildHandle != NULL) { return EFI_UNSUPPORTED; } - + // + // Make sure this driver is currently managing ControllerHandle + // + Status = EfiTestManagedDevice ( + ControllerHandle, + gUsbBotDriverBinding.DriverBindingHandle, + &gEfiUsbIoProtocolGuid + ); + if (EFI_ERROR (Status)) { + return Status; + } // // Get the device context // diff --git a/EdkModulePkg/Bus/Usb/UsbBot/Dxe/bot.c b/EdkModulePkg/Bus/Usb/UsbBot/Dxe/bot.c index 8cd6b8e6f6..acba154842 100644 --- a/EdkModulePkg/Bus/Usb/UsbBot/Dxe/bot.c +++ b/EdkModulePkg/Bus/Usb/UsbBot/Dxe/bot.c @@ -62,7 +62,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUsbBotDriverBinding = { BotDriverBindingSupported, BotDriverBindingStart, BotDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Usb/UsbBus/Dxe/usbbus.c b/EdkModulePkg/Bus/Usb/UsbBus/Dxe/usbbus.c index 7bbb6f7a06..837a6001dd 100644 --- a/EdkModulePkg/Bus/Usb/UsbBus/Dxe/usbbus.c +++ b/EdkModulePkg/Bus/Usb/UsbBus/Dxe/usbbus.c @@ -68,7 +68,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUsbBusDriverBinding = { UsbBusControllerDriverSupported, UsbBusControllerDriverStart, UsbBusControllerDriverStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/Cbi0.c b/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/Cbi0.c index 913ac225e9..d9b094d114 100644 --- a/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/Cbi0.c +++ b/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/Cbi0.c @@ -73,7 +73,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUsbCbi0DriverBinding = { Cbi0DriverBindingSupported, Cbi0DriverBindingStart, Cbi0DriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/ComponentName.c b/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/ComponentName.c index 7bbbb0f701..7d16b5a1e3 100644 --- a/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/ComponentName.c +++ b/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi0/ComponentName.c @@ -163,7 +163,17 @@ UsbCbi0ComponentNameGetControllerName ( if (ChildHandle != NULL) { return EFI_UNSUPPORTED; } - + // + // Make sure this driver is currently managing ControllerHandle + // + Status = EfiTestManagedDevice ( + ControllerHandle, + gUsbCbi0DriverBinding.DriverBindingHandle, + &gEfiUsbIoProtocolGuid + ); + if (EFI_ERROR (Status)) { + return Status; + } // // Get the device context // diff --git a/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi1/cbi1.c b/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi1/cbi1.c index dd1c927dae..d778497096 100644 --- a/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi1/cbi1.c +++ b/EdkModulePkg/Bus/Usb/UsbCbi/Dxe/Cbi1/cbi1.c @@ -117,7 +117,7 @@ EFI_DRIVER_BINDING_PROTOCOL gCBI1DriverBinding = { CBI1DriverBindingSupported, CBI1DriverBindingStart, CBI1DriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.c b/EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.c index a59de11998..ec496a6e39 100644 --- a/EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.c +++ b/EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.c @@ -103,7 +103,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUsbKeyboardDriverBinding = { USBKeyboardDriverBindingSupported, USBKeyboardDriverBindingStart, USBKeyboardDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Usb/UsbMassStorage/Dxe/UsbMassStorage.c b/EdkModulePkg/Bus/Usb/UsbMassStorage/Dxe/UsbMassStorage.c index 932b8c5ed9..0d57f7642d 100644 --- a/EdkModulePkg/Bus/Usb/UsbMassStorage/Dxe/UsbMassStorage.c +++ b/EdkModulePkg/Bus/Usb/UsbMassStorage/Dxe/UsbMassStorage.c @@ -109,7 +109,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUSBFloppyDriverBinding = { USBFloppyDriverBindingSupported, USBFloppyDriverBindingStart, USBFloppyDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Bus/Usb/UsbMouse/Dxe/usbmouse.c b/EdkModulePkg/Bus/Usb/UsbMouse/Dxe/usbmouse.c index 81da0205a4..063247376b 100644 --- a/EdkModulePkg/Bus/Usb/UsbMouse/Dxe/usbmouse.c +++ b/EdkModulePkg/Bus/Usb/UsbMouse/Dxe/usbmouse.c @@ -61,7 +61,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUsbMouseDriverBinding = { USBMouseDriverBindingSupported, USBMouseDriverBindingStart, USBMouseDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Universal/ConPlatform/Dxe/ConPlatform.c b/EdkModulePkg/Universal/ConPlatform/Dxe/ConPlatform.c index 684c664852..9e8dbbee7b 100644 --- a/EdkModulePkg/Universal/ConPlatform/Dxe/ConPlatform.c +++ b/EdkModulePkg/Universal/ConPlatform/Dxe/ConPlatform.c @@ -23,7 +23,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextInDriverBinding = { ConPlatformTextInDriverBindingSupported, ConPlatformTextInDriverBindingStart, ConPlatformDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; @@ -32,7 +32,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextOutDriverBinding = { ConPlatformTextOutDriverBindingSupported, ConPlatformTextOutDriverBindingStart, ConPlatformDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Universal/Console/ConSplitter/Dxe/ConSplitter.c b/EdkModulePkg/Universal/Console/ConSplitter/Dxe/ConSplitter.c index 8f52c341dc..973f13d0f3 100644 --- a/EdkModulePkg/Universal/Console/ConSplitter/Dxe/ConSplitter.c +++ b/EdkModulePkg/Universal/Console/ConSplitter/Dxe/ConSplitter.c @@ -217,7 +217,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConSplitterConInDriverBinding = { ConSplitterConInDriverBindingSupported, ConSplitterConInDriverBindingStart, ConSplitterConInDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; @@ -226,7 +226,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConSplitterSimplePointerDriverBinding = { ConSplitterSimplePointerDriverBindingSupported, ConSplitterSimplePointerDriverBindingStart, ConSplitterSimplePointerDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; @@ -235,7 +235,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConSplitterConOutDriverBinding = { ConSplitterConOutDriverBindingSupported, ConSplitterConOutDriverBindingStart, ConSplitterConOutDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; @@ -244,7 +244,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConSplitterStdErrDriverBinding = { ConSplitterStdErrDriverBindingSupported, ConSplitterStdErrDriverBindingStart, ConSplitterStdErrDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Universal/Console/GraphicsConsole/Dxe/GraphicsConsole.c b/EdkModulePkg/Universal/Console/GraphicsConsole/Dxe/GraphicsConsole.c index 05edbd0fec..25b0429b1b 100644 --- a/EdkModulePkg/Universal/Console/GraphicsConsole/Dxe/GraphicsConsole.c +++ b/EdkModulePkg/Universal/Console/GraphicsConsole/Dxe/GraphicsConsole.c @@ -144,7 +144,7 @@ EFI_DRIVER_BINDING_PROTOCOL gGraphicsConsoleDriverBinding = { GraphicsConsoleControllerDriverSupported, GraphicsConsoleControllerDriverStart, GraphicsConsoleControllerDriverStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Universal/Console/Terminal/Dxe/ComponentName.c b/EdkModulePkg/Universal/Console/Terminal/Dxe/ComponentName.c index cc925b13c9..7a1c23d17c 100644 --- a/EdkModulePkg/Universal/Console/Terminal/Dxe/ComponentName.c +++ b/EdkModulePkg/Universal/Console/Terminal/Dxe/ComponentName.c @@ -162,12 +162,34 @@ TerminalComponentNameGetControllerName ( EFI_SIMPLE_TEXT_OUT_PROTOCOL *SimpleTextOutput; TERMINAL_DEV *TerminalDevice; + // + // Make sure this driver is currently managing ControllHandle + // + Status = EfiTestManagedDevice ( + ControllerHandle, + gTerminalDriverBinding.DriverBindingHandle, + &gEfiSerialIoProtocolGuid + ); + if (EFI_ERROR (Status)) { + return Status; + } + // // This is a bus driver, so ChildHandle can not be NULL. // if (ChildHandle == NULL) { return EFI_UNSUPPORTED; } + + Status = EfiTestChildHandle ( + ControllerHandle, + ChildHandle, + &gEfiSerialIoProtocolGuid + ); + if (EFI_ERROR (Status)) { + return Status; + } + // // Get our context back // diff --git a/EdkModulePkg/Universal/Console/Terminal/Dxe/Terminal.c b/EdkModulePkg/Universal/Console/Terminal/Dxe/Terminal.c index c7c1bdda8f..6621b64ace 100644 --- a/EdkModulePkg/Universal/Console/Terminal/Dxe/Terminal.c +++ b/EdkModulePkg/Universal/Console/Terminal/Dxe/Terminal.c @@ -57,7 +57,7 @@ EFI_DRIVER_BINDING_PROTOCOL gTerminalDriverBinding = { TerminalDriverBindingSupported, TerminalDriverBindingStart, TerminalDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Universal/Disk/DiskIo/Dxe/diskio.c b/EdkModulePkg/Universal/Disk/DiskIo/Dxe/diskio.c index 1cb26fe976..d378ae3e33 100644 --- a/EdkModulePkg/Universal/Disk/DiskIo/Dxe/diskio.c +++ b/EdkModulePkg/Universal/Disk/DiskIo/Dxe/diskio.c @@ -88,7 +88,7 @@ EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding = { DiskIoDriverBindingSupported, DiskIoDriverBindingStart, DiskIoDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Universal/Disk/Partition/Dxe/Partition.c b/EdkModulePkg/Universal/Disk/Partition/Dxe/Partition.c index 59e33b27c1..504d98357f 100644 --- a/EdkModulePkg/Universal/Disk/Partition/Dxe/Partition.c +++ b/EdkModulePkg/Universal/Disk/Partition/Dxe/Partition.c @@ -66,7 +66,7 @@ EFI_DRIVER_BINDING_PROTOCOL gPartitionDriverBinding = { PartitionDriverBindingSupported, PartitionDriverBindingStart, PartitionDriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Universal/Network/PxeBc/Dxe/bc.c b/EdkModulePkg/Universal/Network/PxeBc/Dxe/bc.c index c42cc9cca8..303f3547ae 100644 --- a/EdkModulePkg/Universal/Network/PxeBc/Dxe/bc.c +++ b/EdkModulePkg/Universal/Network/PxeBc/Dxe/bc.c @@ -2119,7 +2119,7 @@ EFI_DRIVER_BINDING_PROTOCOL gPxeBcDriverBinding = { PxeBcDriverSupported, PxeBcDriverStart, PxeBcDriverStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4.c b/EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4.c index 57a44a02b4..7bdc78fb51 100644 --- a/EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4.c +++ b/EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4.c @@ -66,7 +66,7 @@ EFI_DRIVER_BINDING_PROTOCOL gPxeDhcp4DriverBinding = { PxeDhcp4DriverBindingSupported, PxeDhcp4DriverBindingStart, PxeDhcp4DriverBindingStop, - 0x10, + 0xa, NULL, NULL }; diff --git a/EdkModulePkg/Universal/Network/Snp32_64/Dxe/snp.c b/EdkModulePkg/Universal/Network/Snp32_64/Dxe/snp.c index c193730ffa..c83ca377ab 100644 --- a/EdkModulePkg/Universal/Network/Snp32_64/Dxe/snp.c +++ b/EdkModulePkg/Universal/Network/Snp32_64/Dxe/snp.c @@ -79,7 +79,7 @@ EFI_DRIVER_BINDING_PROTOCOL mSimpleNetworkDriverBinding = { SimpleNetworkDriverSupported, SimpleNetworkDriverStart, SimpleNetworkDriverStop, - 0x10, + 0xa, NULL, NULL }; -- 2.39.2