MdeModulePkg/PciBusDxe: Install PciEnumerationComplete after PciIo
Per PI spec, the PciEnumerationComplete protocol installation should be after PciIo installation. Today's implementation installs the PciEnumerationComplete after hardware enumeration is completed, but before PciIo installation. The change corrects the spec/implementation gap. The change also benefits certain implementation that depends on the PciIo handle in PciEnumerationComplete callback. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
@ -360,8 +360,19 @@ PciBusDriverBindingStart (
|
||||
//
|
||||
StartPciDevices (Controller);
|
||||
|
||||
gFullEnumeration = FALSE;
|
||||
return EFI_SUCCESS;
|
||||
if (gFullEnumeration) {
|
||||
gFullEnumeration = FALSE;
|
||||
|
||||
Status = gBS->InstallProtocolInterface (
|
||||
&PciRootBridgeIo->ParentHandle,
|
||||
&gEfiPciEnumerationCompleteProtocolGuid,
|
||||
EFI_NATIVE_INTERFACE,
|
||||
NULL
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user