audk/OptionRomPkg/UndiRuntimeDxe
mdkinney 4a823e23b1 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.kinney@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13781 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-03 23:49:50 +00:00
..
Decode.c Refine some code to make code run safely. 2010-09-20 03:20:56 +00:00
E100b.c Refine some code to make code run safely. 2010-09-20 03:20:56 +00:00
E100b.h Update the copyright notice format 2010-04-24 12:03:22 +00:00
Init.c 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(). 2012-10-03 23:49:50 +00:00
Undi32.h Consume the UNDI_CONFIG_TABLE defined in MdePkg and remove the local definition of NII_TABLE. 2011-10-25 02:28:13 +00:00
UndiRuntimeDxe.inf Update the copyright notice format 2010-04-24 12:03:22 +00:00