X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkNt32Pkg%2FDxe%2FWinNtThunk%2FBus%2FSerialIo%2FComponentName.c;h=d22f030f4b6a5f913732fca3145750d0750a61a3;hp=82057866c72bf2139fc1d18fc0be29069242d0dc;hb=d756d2e73917d24208200d342c4705d6dcfae09d;hpb=878ddf1fc3540a715f63594ed22b6929e881afb4 diff --git a/EdkNt32Pkg/Dxe/WinNtThunk/Bus/SerialIo/ComponentName.c b/EdkNt32Pkg/Dxe/WinNtThunk/Bus/SerialIo/ComponentName.c index 82057866c7..d22f030f4b 100644 --- a/EdkNt32Pkg/Dxe/WinNtThunk/Bus/SerialIo/ComponentName.c +++ b/EdkNt32Pkg/Dxe/WinNtThunk/Bus/SerialIo/ComponentName.c @@ -154,6 +154,18 @@ WinNtSerialIoComponentNameGetControllerName ( EFI_SERIAL_IO_PROTOCOL *SerialIo; WIN_NT_SERIAL_IO_PRIVATE_DATA *Private; + // + // Make sure this driver is currently managing ControllHandle + // + Status = EfiTestManagedDevice ( + ControllerHandle, + gWinNtSerialIoDriverBinding.DriverBindingHandle, + &gEfiWinNtIoProtocolGuid + ); + if (EFI_ERROR (Status)) { + return Status; + } + // // This is a bus driver, so ChildHandle must not be NULL. // @@ -161,6 +173,15 @@ WinNtSerialIoComponentNameGetControllerName ( return EFI_UNSUPPORTED; } + Status = EfiTestChildHandle ( + ControllerHandle, + ChildHandle, + &gEfiWinNtIoProtocolGuid + ); + if (EFI_ERROR (Status)) { + return Status; + } + // // Get our context back //