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

Close it were we stop all the childs in XenBusDxe->Stop().

Signed-off-by: Anthony PERARD <anthony.per...@citrix.com>
---
 OvmfPkg/XenBusDxe/XenBusDxe.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.c b/OvmfPkg/XenBusDxe/XenBusDxe.c
index 0e63707f50..fac6f3a09d 100644
--- a/OvmfPkg/XenBusDxe/XenBusDxe.c
+++ b/OvmfPkg/XenBusDxe/XenBusDxe.c
@@ -453,6 +453,11 @@ 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 (#43031): https://edk2.groups.io/g/devel/message/43031
Mute This Topic: https://groups.io/mt/32243460/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to