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.per...@citrix.com>
Reviewed-by: Laszlo Ersek <ler...@redhat.com>
---
 OvmfPkg/XenBusDxe/XenBusDxe.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.c b/OvmfPkg/XenBusDxe/XenBusDxe.c
index 0e63707f50..7c07a96650 100644
--- a/OvmfPkg/XenBusDxe/XenBusDxe.c
+++ b/OvmfPkg/XenBusDxe/XenBusDxe.c
@@ -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,

-- 
Anthony PERARD


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43115): https://edk2.groups.io/g/devel/message/43115
Mute This Topic: https://groups.io/mt/32270096/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to