From 0e4483bc69aa31f1facbe62af438fa4feaf4503a Mon Sep 17 00:00:00 2001 From: lgao4 Date: Fri, 14 May 2010 08:27:28 +0000 Subject: 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 --- MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c b/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c index 4a9c89d9ec..9e06881c85 100644 --- a/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c +++ b/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c @@ -544,6 +544,15 @@ CoreDispatcher ( ReturnStatus = EFI_SUCCESS; } + // + // 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 // @@ -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); // -- cgit v1.2.3