diff mbox

174cc7187e6f ACPICA: Tables: Back port acpi_get_table_with_size() and early_acpi_os_unmap_memory() from Linux kernel

Message ID 20170110094122.hpg4sluemkzomeiw@pd.tnic (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Borislav Petkov Jan. 10, 2017, 9:41 a.m. UTC
On Tue, Jan 10, 2017 at 02:27:16AM +0100, Rafael J. Wysocki wrote:
> Well, if the https://patchwork.kernel.org/patch/9504277/ patch from Lv
> worked, the attached one should work too (please test), but it can be
> justified in a slightly more convincing way.

No workie:


The pr_err() gets issued before the box hangs.

Lv's version which set the bool in acpi_os_map_generic_address() did
work though.
diff mbox

Patch

diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 57fb5f4..acb6118 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -378,7 +378,11 @@  static void acpi_os_drop_map_ref(struct acpi_ioremap *map)
 static void acpi_os_map_cleanup(struct acpi_ioremap *map)
 {
        if (!map->refcount) {
-               synchronize_rcu_expedited();
+               if (acpi_os_initialized) {
+                       pr_err("%s: acpi_os_initialized\n", __func__);
+                       synchronize_rcu_expedited();
+               }
+
                acpi_unmap(map->phys, map->virt);
                kfree(map);
        }