From e9bfb92a8e683016c7f6c24104fce9db9567ee1c Mon Sep 17 00:00:00 2001 From: Jung-uk Kim Date: Fri, 4 Nov 2005 21:29:41 +0000 Subject: [PATCH] - Fix more resource parsing problems. The previous commit was imcomplete. - Fix a typo in rsmisc.c and a style change for consistency. This patch will also appear in future ACPI-CA release. Submitted by: Robert Moore Tested by: ru --- sys/contrib/dev/acpica/rscalc.c | 9 +++------ sys/contrib/dev/acpica/rsmisc.c | 4 ++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/sys/contrib/dev/acpica/rscalc.c b/sys/contrib/dev/acpica/rscalc.c index e8187d6973b8..6420f9f26600 100644 --- a/sys/contrib/dev/acpica/rscalc.c +++ b/sys/contrib/dev/acpica/rscalc.c @@ -487,8 +487,7 @@ AcpiRsGetListLength ( * Get the number of bits set in the IRQ word */ ACPI_MOVE_16_TO_16 (&Temp16, Buffer); - ExtraStructBytes = (AcpiRsCountSetBits (Temp16) * - sizeof (UINT32)); + ExtraStructBytes = AcpiRsCountSetBits (Temp16); break; @@ -497,9 +496,7 @@ AcpiRsGetListLength ( * DMA Resource: * Get the number of bits set in the DMA channels byte */ - ACPI_MOVE_16_TO_16 (&Temp16, Buffer); - ExtraStructBytes = (AcpiRsCountSetBits (Temp16) * - sizeof (UINT32)); + ExtraStructBytes = AcpiRsCountSetBits (*Buffer); break; @@ -596,7 +593,7 @@ AcpiRsGetListLength ( /* Update the required buffer size for the internal descriptor structs */ Temp16 = (UINT16) (ResourceInfo->MinimumInternalStructLength + ExtraStructBytes); - BufferSize += (UINT32) ACPI_ALIGN_RESOURCE_SIZE (Temp16); + BufferSize += (UINT32) ACPI_ROUND_UP_TO_NATIVE_WORD (Temp16); /* * Update byte count and point to the next resource within the stream diff --git a/sys/contrib/dev/acpica/rsmisc.c b/sys/contrib/dev/acpica/rsmisc.c index ae5a4ec7f698..bc28464e10ab 100644 --- a/sys/contrib/dev/acpica/rsmisc.c +++ b/sys/contrib/dev/acpica/rsmisc.c @@ -329,7 +329,7 @@ AcpiRsConvertAmlToResource ( ItemCount = AcpiRsDecodeBitmask (*((UINT8 *) Source), Destination); if (ItemCount) { - Resource->Length += Resource->Length + (ItemCount - 1); + Resource->Length += (ItemCount - 1); } Target = ((char *) Resource) + Info->Value; @@ -346,7 +346,7 @@ AcpiRsConvertAmlToResource ( ItemCount = AcpiRsDecodeBitmask (Temp16, Destination); if (ItemCount) { - Resource->Length = Resource->Length + (ItemCount - 1); + Resource->Length += (ItemCount - 1); } Target = ((char *) Resource) + Info->Value;