The acpi_os_wait_events_complete() is used for flushing the deferred executed handlers, invoking it for GPE interrupt handlers doesn't help to protect GPE handler callback. On the contrary, it prevents GPE APIs from being invoked in the deferred notify handlers. Actually, the GPE interrupt handlers' invocation is protected by the previous implemented reference counting mechanism. This patch fixes this GPE APIs invocation issue in a seperate commit other than the reference counting one, so that if any regressions are reported, this patch can be temporarily reverted before the regressions are root caused. Lv Zheng. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> --- drivers/acpi/acpica/evxface.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/acpi/acpica/evxface.c b/drivers/acpi/acpica/evxface.c index a538b03..fc075a5 100644 --- a/drivers/acpi/acpica/evxface.c +++ b/drivers/acpi/acpica/evxface.c @@ -919,10 +919,6 @@ acpi_remove_gpe_handler(acpi_handle gpe_device, acpi_os_release_lock(acpi_gbl_gpe_lock, flags); (void)acpi_ut_release_mutex(ACPI_MTX_EVENTS); - /* Make sure all deferred GPE tasks are completed */ - - acpi_os_wait_events_complete(); - /* Now we can free the handler object */ ACPI_FREE(handler); -- 1.7.10 -- 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