diff options
Diffstat (limited to 'source/components/executer/exconfig.c')
| -rw-r--r-- | source/components/executer/exconfig.c | 40 |
1 files changed, 2 insertions, 38 deletions
diff --git a/source/components/executer/exconfig.c b/source/components/executer/exconfig.c index c17beab9961c..f49b0a9fa9bb 100644 --- a/source/components/executer/exconfig.c +++ b/source/components/executer/exconfig.c @@ -480,7 +480,7 @@ AcpiExLoadOp ( ACPI_INFO (("Dynamic OEM Table Load:")); AcpiExExitInterpreter (); - Status = AcpiTbInstallAndLoadTable (Table, ACPI_PTR_TO_PHYSADDR (Table), + Status = AcpiTbInstallAndLoadTable (ACPI_PTR_TO_PHYSADDR (Table), ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL, TRUE, &TableIndex); AcpiExEnterInterpreter (); if (ACPI_FAILURE (Status)) @@ -545,7 +545,6 @@ AcpiExUnloadTable ( ACPI_STATUS Status = AE_OK; ACPI_OPERAND_OBJECT *TableDesc = DdbHandle; UINT32 TableIndex; - ACPI_TABLE_HEADER *Table; ACPI_FUNCTION_TRACE (ExUnloadTable); @@ -586,42 +585,7 @@ AcpiExUnloadTable ( * strict order requirement against it. */ AcpiExExitInterpreter (); - - /* Ensure the table is still loaded */ - - if (!AcpiTbIsTableLoaded (TableIndex)) - { - Status = AE_NOT_EXIST; - goto LockAndExit; - } - - /* Invoke table handler if present */ - - if (AcpiGbl_TableHandler) - { - Status = AcpiGetTableByIndex (TableIndex, &Table); - if (ACPI_SUCCESS (Status)) - { - (void) AcpiGbl_TableHandler (ACPI_TABLE_EVENT_UNLOAD, Table, - AcpiGbl_TableHandlerContext); - } - } - - /* Delete the portion of the namespace owned by this table */ - - Status = AcpiTbDeleteNamespaceByOwner (TableIndex); - if (ACPI_FAILURE (Status)) - { - goto LockAndExit; - } - - (void) AcpiTbReleaseOwnerId (TableIndex); - AcpiTbSetTableLoadedFlag (TableIndex, FALSE); - -LockAndExit: - - /* Re-acquire the interpreter lock */ - + Status = AcpiTbUnloadTable (TableIndex); AcpiExEnterInterpreter (); /* |
