You are not logged in.

#1 2023-04-21 11:10:02

Leviticoh
Member
Registered: 2021-12-13
Posts: 9

[Solved] power button stopped working since kernel 6.2.10

after the update the power button only emits events once, then i need to reboot to use it again

evtest with linux-6.2.9.arch1-1-x86_64

$ sudo evtest /dev/input/event2
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x1 version 0x0
Input device name: "Power Button"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 116 (KEY_POWER)
Properties:
Testing ... (interrupt to exit)
Event: time 1681801045.636489, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: time 1681801045.636489, -------------- SYN_REPORT ------------
Event: time 1681801045.636508, type 1 (EV_KEY), code 116 (KEY_POWER), value 0
Event: time 1681801045.636508, -------------- SYN_REPORT ------------
Event: time 1681801047.155442, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: time 1681801047.155442, -------------- SYN_REPORT ------------
Event: time 1681801047.155460, type 1 (EV_KEY), code 116 (KEY_POWER), value 0
Event: time 1681801047.155460, -------------- SYN_REPORT ------------
Event: time 1681801048.171694, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: time 1681801048.171694, -------------- SYN_REPORT ------------
Event: time 1681801048.171703, type 1 (EV_KEY), code 116 (KEY_POWER), value 0
Event: time 1681801048.171703, -------------- SYN_REPORT ------------

evtest with linux-6.2.10.arch1-1-x86_64

$ sudo evtest /dev/input/event2
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x1 version 0x0
Input device name: "Power Button"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 116 (KEY_POWER)
Properties:
Testing ... (interrupt to exit)
Event: time 1681801753.769504, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: time 1681801753.769504, -------------- SYN_REPORT ------------
Event: time 1681801753.769522, type 1 (EV_KEY), code 116 (KEY_POWER), value 0
Event: time 1681801753.769522, -------------- SYN_REPORT ------------

i couldn't find significant differences in dmesg.

but by bisecting i found that the first faulty commit in the kernel seems to be

commit 7ecbc2275a13510e6e820545d280486d7964f3e8
Author: Kornel Dulęba <korneld@chromium.org>
Date:   Mon Mar 20 09:32:59 2023 +0000

    pinctrl: amd: Disable and mask interrupts on resume
   
    commit b26cd9325be4c1fcd331b77f10acb627c560d4d7 upstream.
   
    This fixes a similar problem to the one observed in:
    commit 4e5a04be88fe ("pinctrl: amd: disable and mask interrupts on probe").
   
    On some systems, during suspend/resume cycle firmware leaves
    an interrupt enabled on a pin that is not used by the kernel.
    This confuses the AMD pinctrl driver and causes spurious interrupts.
   
    The driver already has logic to detect if a pin is used by the kernel.
    Leverage it to re-initialize interrupt fields of a pin only if it's not
    used by us.
   
    Cc: stable@vger.kernel.org
    Fixes: dbad75dd1f25 ("pinctrl: add AMD GPIO driver support.")
    Signed-off-by: Kornel Dulęba <korneld@chromium.org>
    Link: https://lore.kernel.org/r/2023032009325 … romium.org
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

drivers/pinctrl/pinctrl-amd.c | 36 ++++++++++++++++++++----------------

what can i do now?

EDIT: the problem is solved in linux 6.2.12

Last edited by Leviticoh (2023-04-21 19:15:44)

Offline

Board footer

Powered by FluxBB