summaryrefslogtreecommitdiffstats
path: root/IntelFrameworkPkg
diff options
context:
space:
mode:
authoryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>2008-09-19 03:42:07 +0000
committeryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>2008-09-19 03:42:07 +0000
commit156eb6bbf7050e211c39677989e358606d65eefe (patch)
treefb2f8014f13424c91aa317244d4d63efc4a41b40 /IntelFrameworkPkg
parent2bfb60098f608dc32ff5d22b0fd087c1636b0881 (diff)
downloadedk2-156eb6bbf7050e211c39677989e358606d65eefe.tar.gz
edk2-156eb6bbf7050e211c39677989e358606d65eefe.tar.bz2
edk2-156eb6bbf7050e211c39677989e358606d65eefe.zip
Bug Fix in DxeSmmDriverEntryLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5928 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'IntelFrameworkPkg')
-rw-r--r--IntelFrameworkPkg/Library/DxeSmmDriverEntryPoint/DriverEntryPoint.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/IntelFrameworkPkg/Library/DxeSmmDriverEntryPoint/DriverEntryPoint.c b/IntelFrameworkPkg/Library/DxeSmmDriverEntryPoint/DriverEntryPoint.c
index df25c6d493..539adc1345 100644
--- a/IntelFrameworkPkg/Library/DxeSmmDriverEntryPoint/DriverEntryPoint.c
+++ b/IntelFrameworkPkg/Library/DxeSmmDriverEntryPoint/DriverEntryPoint.c
@@ -133,26 +133,14 @@ _DriverUnloadHandler (
EFI_HANDLE ImageHandle
)
{
- EFI_STATUS Status;
-
- //
- // Call the unload handlers for all the modules
//
- Status = ProcessModuleUnloadList (ImageHandle);
-
+ // Call the unload handlers for all the modules.
+ //
+ // Note: All libraries were constructed in SMM space,
+ // therefore we can not destruct them in Unload
+ // handler.
//
- // If the driver specific unload handler does not return an error, then call all of the
- // library destructors. If the unload handler returned an error, then the driver can not be
- // unloaded, and the library destructors should not be called
- //
- if (!EFI_ERROR (Status)) {
- ProcessLibraryDestructorList (ImageHandle, gST);
- }
-
- //
- // Return the status from the driver specific unload handler
- //
- return Status;
+ return ProcessModuleUnloadList (ImageHandle);
}
/**