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

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

 



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?

Dan

<snip>



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux