summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWendy Liao <wendy.liao@insyde.com>2023-05-03 11:04:12 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-05-24 12:59:54 +0000
commitba91d0292e593df8528b66f99c1b0b14fadc8e16 (patch)
treed1cb9d1a49bc407168b706c4c11fa68b4ae15cfd
parent5ce29ae84db340244c3c3299f84713a88dec5171 (diff)
downloadedk2-ba91d0292e593df8528b66f99c1b0b14fadc8e16.tar.gz
edk2-ba91d0292e593df8528b66f99c1b0b14fadc8e16.tar.bz2
edk2-ba91d0292e593df8528b66f99c1b0b14fadc8e16.zip
MdeModulePkg/Core/Pei: set AprioriCount=0 before walking through next FVedk2-stable202305
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4438 The main dispatch loop in PeiDispatcher() goes through each FV and calls DiscoverPeimsAndOrderWithApriori() to search Apriori file to reorder all PEIMs then do the PEIM dispatched. DiscoverPeimsAndOrderWithApriori() calculates Apriori file count for every FV once and set Private->AprioriCount, but Private->AprioriCount doesn't be set to 0 before dispatch loop walking through the next FV. It causes the peim which sort on less than Private->AprioriCount and depex is not satisfied would be dispatched when dispatch loop go through to a scaned FV, even the peim is not set in APRIORI file. Cc: Leon Chen <leon.chen@insyde.com> Cc: Tim Lewis <tim.lewis@insyde.com> Reported-by: Esther Lee <esther.lee@insyde.com> Signed-off-by: Wendy Liao <wendy.liao@insyde.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
-rw-r--r--MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
index d8284f9f4f..5f32ebb560 100644
--- a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
+++ b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
@@ -1630,6 +1630,7 @@ PeiDispatcher (
Private->CurrentFileHandle = NULL;
Private->CurrentPeimCount = 0;
Private->CurrentFvFileHandles = NULL;
+ Private->AprioriCount = 0;
}
//