mirror of https://github.com/acidanthera/audk.git
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:
parent
2632981783
commit
42e8bc7d16
|
@ -360,8 +360,19 @@ PciBusDriverBindingStart (
|
||||||
//
|
//
|
||||||
StartPciDevices (Controller);
|
StartPciDevices (Controller);
|
||||||
|
|
||||||
|
if (gFullEnumeration) {
|
||||||
gFullEnumeration = FALSE;
|
gFullEnumeration = FALSE;
|
||||||
return EFI_SUCCESS;
|
|
||||||
|
Status = gBS->InstallProtocolInterface (
|
||||||
|
&PciRootBridgeIo->ParentHandle,
|
||||||
|
&gEfiPciEnumerationCompleteProtocolGuid,
|
||||||
|
EFI_NATIVE_INTERFACE,
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -104,16 +104,6 @@ PciEnumerator (
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
Status = gBS->InstallProtocolInterface (
|
|
||||||
&HostBridgeHandle,
|
|
||||||
&gEfiPciEnumerationCompleteProtocolGuid,
|
|
||||||
EFI_NATIVE_INTERFACE,
|
|
||||||
NULL
|
|
||||||
);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue