diff options
Diffstat (limited to 'IntelFrameworkPkg/Library/DxeSmmDriverEntryPoint/DriverEntryPoint.c')
-rw-r--r-- | IntelFrameworkPkg/Library/DxeSmmDriverEntryPoint/DriverEntryPoint.c | 24 |
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);
}
/**
|