]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ACPI: Using correct irq when waiting for events
authorChen Yu <yu.c.chen@intel.com>
Sat, 24 Oct 2015 17:02:36 +0000 (01:02 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Jan 2016 04:55:41 +0000 (20:55 -0800)
commit efb1cf7d28b8aeacec53e9ba8f3f2809c5cb9686 upstream.

When the system is waiting for GPE/fixed event handler to finish,
it uses acpi_gbl_FADT.sci_interrupt directly as the IRQ number.
However, the remapped IRQ returned by acpi_gsi_to_irq() should be
passed to synchronize_hardirq() instead of it.

Acked-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Chen Yu <yu.c.chen@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/acpi/osl.c

index 2a25919f8eaba147ce77f135dfeceab5f6375bd6..2f6e3c6ad39b5f580ce85f76ad98098988deec2c 100644 (file)
@@ -1183,8 +1183,8 @@ void acpi_os_wait_events_complete(void)
         * Make sure the GPE handler or the fixed event handler is not used
         * on another CPU after removal.
         */
-       if (acpi_irq_handler)
-               synchronize_hardirq(acpi_gbl_FADT.sci_interrupt);
+       if (acpi_sci_irq_valid())
+               synchronize_hardirq(acpi_sci_irq);
        flush_workqueue(kacpid_wq);
        flush_workqueue(kacpi_notify_wq);
 }