audk/MdeModulePkg/Bus
Ard Biesheuvel b59e2427c2 MdeModulePkg/PciBusDxe: don't create bogus descriptor if no resources needed
If the current PCI configuration requires no resources to be allocated at
all (i.e., unpopulated bus), the PCI enumeration code creates a single
ACPI_ADDRESS_SPACE_DESCRIPTOR memory descriptor with all fields cleared.
This is rejected by the SubmitResources() implementation of the generic
PciHostBridgeDxe in the following way:

  PciHostBridge: SubmitResources for PcieRoot(0x0)
   Mem: Granularity/SpecificFlag = 0 / 00
        Length/Alignment = 0x0 / 0x0
  PciBus: HostBridge->SubmitResources() - Invalid Parameter

  ASSERT_EFI_ERROR (Status = Invalid Parameter)
  ASSERT [PciBusDxe] .../PciBusDxe/PciLib.c(561): !EFI_ERROR (Status)

So instead, create the empty configuration as a single entry of type
EFI_ACPI_END_TAG_DESCRIPTOR.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2016-04-29 15:23:20 +08:00
..
Ata MdeModulePkg/.../IdeMode: correctly report length of returned data 2016-01-25 11:33:37 +00:00
I2c/I2cDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
Isa MdeModulePkg/Ps2MouseDxe: Use a different FILE_GUID 2016-04-13 14:54:45 +08:00
Pci MdeModulePkg/PciBusDxe: don't create bogus descriptor if no resources needed 2016-04-29 15:23:20 +08:00
Scsi MdeModulePkg ScsiDiskDxe: Fix hang issue when reconnecting an ISCSI device 2016-03-29 13:35:22 +08:00
Sd MdeModulePkg/EmmcDxe: Fix wrong coding style on close brace 2016-04-26 15:44:54 +08:00
Ufs MdeModulePkg: UfsPassThruDxe: remove set but unused variables 2016-03-25 10:52:26 +01:00
Usb MdeModulePkg/Usb: Fix wrong condition judgment to support usb3.1 dev 2016-04-21 15:53:14 +08:00