OvmfPkg/XenBusDxe: Close XenIoProtocol openned by children

In XenBusDxe, the XenBusAddDevice() opens the gXenIoProtocolGuid on
behalf of child controllers. It is never closed and prevents us from
uninstalling the protocol.

Close it where we stop all the children in XenBusDxe->Stop().

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20190701105012.25758-1-anthony.perard@citrix.com>
This commit is contained in:
Anthony PERARD 2019-07-01 11:50:12 +01:00 committed by Laszlo Ersek
parent be0d1c1755
commit 64ef66ba8b
1 changed files with 4 additions and 0 deletions

View File

@ -453,6 +453,10 @@ XenBusDxeDriverBindingStop (
continue;
}
Status = gBS->CloseProtocol (Dev->ControllerHandle, &gXenIoProtocolGuid,
Dev->This->DriverBindingHandle, ChildData->Handle);
ASSERT_EFI_ERROR (Status);
Status = gBS->UninstallMultipleProtocolInterfaces (
ChildData->Handle,
&gEfiDevicePathProtocolGuid, ChildData->DevicePath,