summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/osl.c
diff options
context:
space:
mode:
authorChen Yu <yu.c.chen@intel.com>2015-10-25 01:02:36 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-10-26 04:39:25 +0100
commitefb1cf7d28b8aeacec53e9ba8f3f2809c5cb9686 (patch)
treeb619b0db7c55d8e490e0d0ade49df55aa8af2836 /drivers/acpi/osl.c
parent49e4b84333f338d4f183f28f1f3c1131b9fb2b5a (diff)
downloadlinux-stable-efb1cf7d28b8aeacec53e9ba8f3f2809c5cb9686.tar.gz
linux-stable-efb1cf7d28b8aeacec53e9ba8f3f2809c5cb9686.tar.bz2
linux-stable-efb1cf7d28b8aeacec53e9ba8f3f2809c5cb9686.zip
ACPI: Using correct irq when waiting for events
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. Cc: 3.19+ <stable@vger.kernel.org> # 3.19+ 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>
Diffstat (limited to 'drivers/acpi/osl.c')
-rw-r--r--drivers/acpi/osl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 2a25919f8eab..2f6e3c6ad39b 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -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);
}