lkml.org 
[lkml]   [2018]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [REGRESSION 4.17] Spurious wakeup / reboot with power button
    From
    Date


    Am 06.07.2018 um 14:27 schrieb Takashi Iwai:
    > On Fri, 06 Jul 2018 14:13:04 +0200,
    > Rafael J. Wysocki wrote:
    >>
    >> On Friday, July 6, 2018 1:21:50 PM CEST Rafael J. Wysocki wrote:
    >>> On Fri, Jul 6, 2018 at 1:12 PM, Thomas Hänig <haenig@cosifan.de> wrote:
    >>
    >> [cut]
    >>
    >>> So the latest patch:
    >>>
    >>> https://patchwork.kernel.org/patch/10511211/
    >>>
    >>> should work for you (please verify) and the change in
    >>> drivers/acpi/sleep.c in it most likely is not necessary.
    >>>
    >>> If you can confirm that this one works for you, I'll send a smaller
    >>> one with the acpi_hw_legacy_sleep() part alone.
    >>
    >> Well, scratch this, sorry.
    >>
    >> The power button probably is a fixed event and it won't be effected by
    >> that patch.
    >>
    >> Instead, please test the patch below.
    >
    > FWIW, the test kernel on OBS home:tiwai:bsc1099930-3 was refreshed
    > with this one. The release number will be *.g2351e2d.
    >
    >
    > Takashi
    >
    >>
    >> ---
    >> drivers/acpi/acpica/hwsleep.c | 15 +++++++++++----
    >> 1 file changed, 11 insertions(+), 4 deletions(-)
    >>
    >> Index: linux-pm/drivers/acpi/acpica/hwsleep.c
    >> ===================================================================
    >> --- linux-pm.orig/drivers/acpi/acpica/hwsleep.c
    >> +++ linux-pm/drivers/acpi/acpica/hwsleep.c
    >> @@ -51,16 +51,23 @@ acpi_status acpi_hw_legacy_sleep(u8 slee
    >> return_ACPI_STATUS(status);
    >> }
    >>
    >> - /*
    >> - * 1) Disable all GPEs
    >> - * 2) Enable all wakeup GPEs
    >> - */
    >> + /* Disable all GPEs */
    >> status = acpi_hw_disable_all_gpes();
    >> if (ACPI_FAILURE(status)) {
    >> return_ACPI_STATUS(status);
    >> }
    >> + /*
    >> + * If the target sleep state is S5, clear all GPEs and fixed events too
    >> + */
    >> + if (sleep_state == ACPI_STATE_S5) {
    >> + status = acpi_hw_clear_acpi_status();
    >> + if (ACPI_FAILURE(status)) {
    >> + return_ACPI_STATUS(status);
    >> + }
    >> + }
    >> acpi_gbl_system_awake_and_running = FALSE;
    >>
    >> + /* Enable all wakeup GPEs */
    >> status = acpi_hw_enable_all_wakeup_gpes();
    >> if (ACPI_FAILURE(status)) {
    >> return_ACPI_STATUS(status);
    >>
    Hello Takashi,
    with the kernel built by you the system shuts down when pressing the
    power button and stays off too! :-)

    So the above mentioned patch to hwsleep.c seems to do the trick.

    Regards and thanks a lot @all!
    Thomas

    thomas@tslb:~> uname -a
    Linux tslb 4.17.4-2.g2351e2d-default #1 SMP PREEMPT Fri Jul 6 12:24:35
    UTC 2018 (2351e2d) x86_64 x86_64 x86_64 GNU/Linux


    thomas@tslb:~> rpm -qi kernel-default-4.17.4-2.1.g2351e2d.x86_64
    Name : kernel-default
    Version : 4.17.4
    Release : 2.1.g2351e2d
    Architecture: x86_64
    Install Date: Fr 06 Jul 2018 19:43:38 CEST
    Group : System/Kernel
    Size : 360100489
    License : GPL-2.0
    Signature : RSA/SHA256, Fr 06 Jul 2018 16:47:25 CEST, Key ID
    4bf05f46f6e74bf5
    Source RPM : kernel-default-4.17.4-2.1.g2351e2d.nosrc.rpm
    Build Date : Fr 06 Jul 2018 16:42:04 CEST
    Build Host : lamb63
    Relocations : (not relocatable)
    Vendor : obs://build.opensuse.org/home:tiwai
    URL : http://www.kernel.org/
    Summary : The Standard Kernel
    Description :
    The standard kernel for both uniprocessor and multiprocessor systems.

    Source Timestamp: 2018-07-06 14:24:35 +0200
    GIT Revision: 2351e2d70cbcb963c461d55abeee967ea9a940ea
    GIT Branch: users/tiwai/stable/bsc1099930
    Distribution: home:tiwai:bsc1099930-3

    \
     
     \ /
      Last update: 2018-07-06 19:58    [W:3.446 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site