From 3f90ac3ec03512e2374cd2968c047a7e856a8965 Mon Sep 17 00:00:00 2001 From: Aiden Park Date: Thu, 14 Jan 2021 03:01:14 +0800 Subject: MdeModulePkg/PciBusDxe: Fix a bug in ProcessOptionRomLight The ProcessOptionRomLight() assumes that OpRom has already been processed in the previous full enumeration and updates AllOpRomProcessed flag to TRUE by default. However, this may not be applicable with other pre-stage boot firmwares. This will update AllOpRomProcessed flag properly by checking PciRomGetImageMapping(). Signed-off-by: Aiden Park Reviewed-by: Ray Ni --- MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'MdeModulePkg') diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c index a24065e8ba..db1b35f8ef 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c @@ -1168,12 +1168,7 @@ ProcessOptionRomLight ( ProcessOptionRomLight (Temp); } - PciRomGetImageMapping (Temp); - - // - // The OpRom has already been processed in the first round - // - Temp->AllOpRomProcessed = TRUE; + Temp->AllOpRomProcessed = PciRomGetImageMapping (Temp); CurrentLink = CurrentLink->ForwardLink; } -- cgit v1.2.3