Re: [PATCH 1/3] ACPI: Resolve objects on host-directed table loads

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dan,

On Fri, 31 May 2019, Dan Murphy wrote:
Nikolaus

On 5/30/19 9:42 AM, Dan Murphy wrote:
Nikolaus

On 5/29/19 7:18 AM, Nikolaus Voss wrote:
If an ACPI SSDT overlay is loaded after built-in tables
have been loaded e.g. via configfs or efivar_ssdt_load()
it is necessary to rewalk the namespace to resolve
references. Without this, relative and absolute paths
like ^PCI0.SBUS or \_SB.PCI0.SBUS are not resolved
correctly.

Make configfs load use the same method as efivar_ssdt_load().

Signed-off-by: Nikolaus Voss <nikolaus.voss@xxxxxxxxxxxxxxxxxxxxx>
---
  drivers/acpi/acpi_configfs.c   |  6 +-----
  drivers/acpi/acpica/tbxfload.c | 11 +++++++++++
  2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/acpi/acpi_configfs.c b/drivers/acpi/acpi_configfs.c
index f92033661239..663f0d88f912 100644
--- a/drivers/acpi/acpi_configfs.c
+++ b/drivers/acpi/acpi_configfs.c
@@ -56,11 +56,7 @@ static ssize_t acpi_table_aml_write(struct
config_item *cfg,
      if (!table->header)
          return -ENOMEM;
  -    ACPI_INFO(("Host-directed Dynamic ACPI Table Load:"));
-    ret = acpi_tb_install_and_load_table(
-            ACPI_PTR_TO_PHYSADDR(table->header),
-            ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL, FALSE,
-            &table->index);
+    ret = acpi_load_table(table->header);
      if (ret) {
          kfree(table->header);
          table->header = NULL;
diff --git a/drivers/acpi/acpica/tbxfload.c
b/drivers/acpi/acpica/tbxfload.c
index 4f30f06a6f78..61f2d46e52ba 100644
--- a/drivers/acpi/acpica/tbxfload.c
+++ b/drivers/acpi/acpica/tbxfload.c
@@ -297,6 +297,17 @@ acpi_status acpi_load_table(struct
acpi_table_header *table)
      status =
acpi_tb_install_and_load_table(ACPI_PTR_TO_PHYSADDR(table),
                          ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL,
                          FALSE, &table_index);
+
+    if (!ACPI_FAILURE(status)) {
Checkpatch should complain about putting brackets around single
statement if's.

Would ACPI_SUCCESS make more sense here?

yes, changed.

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux