The Driver Binding Protocol Stop() function for the UndiRuntimeDxe is performing actions in the incorrect order. The call to UninstallMultipleProtocolInterfaces() removes all the protocols from the child handle, which means ChildHandleBuffer[Index] is no longer valid. After the call to UninstallMultipleProtocolInterfaces(), ChildHandleBuffer[Index] is used again in a call to CloseProtocol(). The handle is not valid, so CloseProtocol() returns an error and generates an ASSERT().
This patch changes the order to call CloseProtocol() before calling UninstallMultipleProtocolInterfaces(). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kin...@intel.com<mailto:michael.d.kin...@intel.com>>
Init.c.patch
Description: Init.c.patch
------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel