git bisect found the first good commit, here's the full output from the last command:
bd9b2f9aff26c185c1f8e0cd08a850ee4ace391a is the first bad commit
commit bd9b2f9aff26c185c1f8e0cd08a850ee4ace391a
Author: Rafael J. Wysocki <email address hidden>
Date: Mon Jul 14 22:41:41 2014 +0200
ACPI / scan: No implicit wake notification for buttons
The ACPI device enumeration code in Linux assumes that buttons always
are wakeup devices, so it calls acpi_setup_gpe_for_wake() for them
which leads to undesirable side effects. Namely, that function sets
up implicit device wake notification mechanism for a given GPE if
there is no handler method in the ACPI namespace, which from the
ACPICA's perspective means that there always is a way to handle
that GPE if enabled. However, we don't handle wake notify events
for buttons, so if there are no handler methods for their GPEs in
the namespace, enabling a button GPE at run time leads to a GPE
storm in some cases (the GPE triggers, ACPICA carries out the
implicit wake notification for it which isn't handled, so the
GPE triggers again and so on).
To prevent that from happening use acpi_mark_gpe_for_wake()
instead of acpi_setup_gpe_for_wake() for buttons which will cause
ACPICA to only enable button GPEs if there are handler methods for
the in the namespace.
Signed-off-by: Rafael J. Wysocki <email address hidden>
:040000 040000 fec6e6222f6b0f58a5106035c38c7091a48eef0c f6c36ad741c62668891689c8229c3703146dc92e M drivers
Let me know if there's anything else I need to do,
Nikola
Hi Christopher,
git bisect found the first good commit, here's the full output from the last command:
bd9b2f9aff26c18 5c1f8e0cd08a850 ee4ace391a is the first bad commit 5c1f8e0cd08a850 ee4ace391a
commit bd9b2f9aff26c18
Author: Rafael J. Wysocki <email address hidden>
Date: Mon Jul 14 22:41:41 2014 +0200
ACPI / scan: No implicit wake notification for buttons
The ACPI device enumeration code in Linux assumes that buttons always gpe_for_ wake() for them
are wakeup devices, so it calls acpi_setup_
which leads to undesirable side effects. Namely, that function sets
up implicit device wake notification mechanism for a given GPE if
there is no handler method in the ACPI namespace, which from the
ACPICA's perspective means that there always is a way to handle
that GPE if enabled. However, we don't handle wake notify events
for buttons, so if there are no handler methods for their GPEs in
the namespace, enabling a button GPE at run time leads to a GPE
storm in some cases (the GPE triggers, ACPICA carries out the
implicit wake notification for it which isn't handled, so the
GPE triggers again and so on).
To prevent that from happening use acpi_mark_ gpe_for_ wake() gpe_for_ wake() for buttons which will cause
instead of acpi_setup_
ACPICA to only enable button GPEs if there are handler methods for
the in the namespace.
Signed-off-by: Rafael J. Wysocki <email address hidden>
:040000 040000 fec6e6222f6b0f5 8a5106035c38c70 91a48eef0c f6c36ad741c6266 8891689c8229c37 03146dc92e M drivers
Let me know if there's anything else I need to do,
Nikola