Hi All, I am writing a Library of DXE_SMM_DRIVER type. In Library constructor, "SMST->SmmRegisterProtocolNotify()" is used to register notification function for Protocol gEtiSmmguid(for example).
This library is included in one SMM driver. In entry point of driver, some of the condition checks are failing so ERROR status is returned from Entry point. As ERROR status is returned from entry point, image is getting unloaded from memory. When gEtiSmmguid is installed in some other SMM driver, system is hanging as it is looking for Registered context and could not find it as the driver has already been unloaded. For DXE case, I use Library destructor to close the registered/created event but I don't find any way for SMM case. Is there any way to unregister the function which was registered with SMST->SmmRegisterProtocolNotify() ? Please give your suggestions. Note: Returning EFI_SUCCESS from entry point of the driver where the library is included resolves the issue but I am looking for a better solution. Thanks, Naresh ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
