aboutsummaryrefslogtreecommitdiff
path: root/source/components/tables/tbinstal.c
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2012-09-14 22:53:11 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2012-09-14 22:53:11 +0000
commitebef5c959a0ea58fa05c4a5a80bb93104780bf87 (patch)
tree033c7834a7ab5fe0b48b11ac066372bfd32f2c22 /source/components/tables/tbinstal.c
parentfc8e34d9a95f87b780f9ee3d400dd995aba2ce27 (diff)
downloadsrc-ebef5c959a0ea58fa05c4a5a80bb93104780bf87.tar.gz
src-ebef5c959a0ea58fa05c4a5a80bb93104780bf87.zip
Import ACPICA 20120913.vendor/acpica/20120913
Notes
Notes: svn path=/vendor-sys/acpica/dist/; revision=240525 svn path=/vendor-sys/acpica/20120913/; revision=240526; tag=vendor/acpica/20120913
Diffstat (limited to 'source/components/tables/tbinstal.c')
-rw-r--r--source/components/tables/tbinstal.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/source/components/tables/tbinstal.c b/source/components/tables/tbinstal.c
index 648ee75a8963..06264404ce9d 100644
--- a/source/components/tables/tbinstal.c
+++ b/source/components/tables/tbinstal.c
@@ -374,6 +374,7 @@ AcpiTbResizeRootTableList (
void)
{
ACPI_TABLE_DESC *Tables;
+ UINT32 TableCount;
ACPI_FUNCTION_TRACE (TbResizeRootTableList);
@@ -389,9 +390,17 @@ AcpiTbResizeRootTableList (
/* Increase the Table Array size */
+ if (AcpiGbl_RootTableList.Flags & ACPI_ROOT_ORIGIN_ALLOCATED)
+ {
+ TableCount = AcpiGbl_RootTableList.MaxTableCount;
+ }
+ else
+ {
+ TableCount = AcpiGbl_RootTableList.CurrentTableCount;
+ }
+
Tables = ACPI_ALLOCATE_ZEROED (
- ((ACPI_SIZE) AcpiGbl_RootTableList.MaxTableCount +
- ACPI_ROOT_TABLE_SIZE_INCREMENT) *
+ ((ACPI_SIZE) TableCount + ACPI_ROOT_TABLE_SIZE_INCREMENT) *
sizeof (ACPI_TABLE_DESC));
if (!Tables)
{
@@ -404,7 +413,7 @@ AcpiTbResizeRootTableList (
if (AcpiGbl_RootTableList.Tables)
{
ACPI_MEMCPY (Tables, AcpiGbl_RootTableList.Tables,
- (ACPI_SIZE) AcpiGbl_RootTableList.MaxTableCount * sizeof (ACPI_TABLE_DESC));
+ (ACPI_SIZE) TableCount * sizeof (ACPI_TABLE_DESC));
if (AcpiGbl_RootTableList.Flags & ACPI_ROOT_ORIGIN_ALLOCATED)
{
@@ -413,8 +422,9 @@ AcpiTbResizeRootTableList (
}
AcpiGbl_RootTableList.Tables = Tables;
- AcpiGbl_RootTableList.MaxTableCount += ACPI_ROOT_TABLE_SIZE_INCREMENT;
- AcpiGbl_RootTableList.Flags |= (UINT8) ACPI_ROOT_ORIGIN_ALLOCATED;
+ AcpiGbl_RootTableList.MaxTableCount =
+ TableCount + ACPI_ROOT_TABLE_SIZE_INCREMENT;
+ AcpiGbl_RootTableList.Flags |= ACPI_ROOT_ORIGIN_ALLOCATED;
return_ACPI_STATUS (AE_OK);
}