diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2012-09-14 22:53:11 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2012-09-14 22:53:11 +0000 |
commit | ebef5c959a0ea58fa05c4a5a80bb93104780bf87 (patch) | |
tree | 033c7834a7ab5fe0b48b11ac066372bfd32f2c22 /source/components/tables/tbinstal.c | |
parent | fc8e34d9a95f87b780f9ee3d400dd995aba2ce27 (diff) | |
download | src-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.c | 20 |
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); } |