MdeModulePkg/IncompPciDeviceSupport: Use correct descriptor length

Per PI spec, the Length value is the length of the ACPI descriptor
in bytes, excluding the first two fields.
The patch fixes the code to report the correct descriptor length
by excluding 3-byte first two fields.

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:
Ruiyu Ni 2018-06-13 16:53:17 +08:00
parent b1aff264bf
commit e03a460f06
1 changed files with 2 additions and 2 deletions

View File

@ -5,7 +5,7 @@
Incompatible PCI Device Support protocol allows the PCI bus driver to support Incompatible PCI Device Support protocol allows the PCI bus driver to support
resource allocation for some PCI devices that do not comply with the PCI Specification. resource allocation for some PCI devices that do not comply with the PCI Specification.
Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR> Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -344,7 +344,7 @@ PCheckDevice (
Dsc = (EFI_PCI_RESOUCE_DESCRIPTOR *) (ListPtr + 1); Dsc = (EFI_PCI_RESOUCE_DESCRIPTOR *) (ListPtr + 1);
AcpiPtr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; AcpiPtr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR;
AcpiPtr->Len = (UINT16) sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR); AcpiPtr->Len = (UINT16) sizeof (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3;
AcpiPtr->ResType = (UINT8) Dsc->ResType; AcpiPtr->ResType = (UINT8) Dsc->ResType;
AcpiPtr->GenFlag = (UINT8) Dsc->GenFlag; AcpiPtr->GenFlag = (UINT8) Dsc->GenFlag;
AcpiPtr->SpecificFlag = (UINT8) Dsc->SpecificFlag; AcpiPtr->SpecificFlag = (UINT8) Dsc->SpecificFlag;