summaryrefslogtreecommitdiff
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2010-05-14 08:27:28 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2010-05-14 08:27:28 +0000
commit0e4483bc69aa31f1facbe62af438fa4feaf4503a (patch)
tree2589028f126e957ef55dd96d45dab3cea7664168 /MdeModulePkg
parent562fccb0f0bacdf61c75c397c6d9f76bade1da3e (diff)
downloadedk2-0e4483bc69aa31f1facbe62af438fa4feaf4503a.zip
edk2-0e4483bc69aa31f1facbe62af438fa4feaf4503a.tar.gz
edk2-0e4483bc69aa31f1facbe62af438fa4feaf4503a.tar.bz2
Fix DxeCore Dispatch Issue that DXE drivers may not be dispatched if they depend on the protocols produced by SMM driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10491 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c b/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c
index 4a9c89d..9e06881 100644
--- a/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c
+++ b/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c
@@ -545,6 +545,15 @@ CoreDispatcher (
}
//
+ // Now DXE Dispatcher finished one round of dispatch, signal an event group
+ // so that SMM Dispatcher get chance to dispatch SMM Drivers which depend
+ // on UEFI protocols
+ //
+ if (!EFI_ERROR (ReturnStatus)) {
+ CoreSignalEvent (DxeDispatchEvent);
+ }
+
+ //
// Search DriverList for items to place on Scheduled Queue
//
ReadyToRun = FALSE;
@@ -565,15 +574,6 @@ CoreDispatcher (
}
}
}
-
- //
- // Now DXE Dispatcher finished one round of dispatch, signal an event group
- // so that SMM Dispatcher get chance to dispatch SMM Drivers which depend
- // on UEFI protocols
- //
- if (!EFI_ERROR (ReturnStatus)) {
- CoreSignalEvent (DxeDispatchEvent);
- }
} while (ReadyToRun);
//