When system is waiting for GPE/fixed event handler to finish, it uses the acpi_gbl_FADT.sci_interrupt directly. However, we should use mapped irq returned by acpi_gsi_to_irq for synchronize_hardirq. Cc: <stable@xxxxxxxxxxxxxxx> # 3.19+ Acked-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> --- drivers/acpi/osl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 2e9eccf..3341788 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -1184,8 +1184,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 (!IS_INVALID_ACPI_IRQ(acpi_sci_irq)) + synchronize_hardirq(acpi_sci_irq); flush_workqueue(kacpid_wq); flush_workqueue(kacpi_notify_wq); } -- 1.8.4.2 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html