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: 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); } 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. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html