#1139942 linux-image-amd64: Desktop reboots upon resume from suspend

Package:
src:linux
Source:
src:linux
Submitter:
Stefan Monnier
Date:
2026-06-17 15:15:01 UTC
Severity:
normal
Tags:
#1139942#5
Date:
2026-06-13 19:09:57 UTC
From:
To:
Dear Maintainer,

After a power failure a week ago, my desktop started to be unable to
resume from suspend.  More specifically, it would reboot during the
resume.  Not all the time, but about 50% of the time.

At first I thought it was a hardware problem linked to the power
failure, but after some experimentation (which showed that hibernation
worked reliably), I tried to reboot into the previous 6.12.88 kernel,
and sure enough this one suspends&resumes just as reliably as before.

The behavior I can see is quite limited: everything seems to work as
usual during suspend, which ends with the machine's light blinking and
the monitor going to sleep.  When I hit a key on the keyboard, the
machine's light stops blinking (and stays on), then the monitor's light
stops blinking (but it remains dark at this stage, which is quite normal
because it takes a while for it to start displaying a picture), and
after a few more seconds sometimes the system wakes up normally, but
other times (about 50% of the time) the keyboard's "num lock" led turns
on (which I interpret to mean that the machine has started rebooting)
and after a few more seconds the screen shows the BIOS's
booting sequence.

This machine has been running Debian stable and doing suspend/resume
sequences for the last 10 years without much trouble (beside
occasionally needing me to disconnect and reconnect the USB hub on which
the keyboard is connected), so I'm hopeful that it's a minor
regression that will be addressed easily.


=== Stefan

#1139942#18
Date:
2026-06-17 13:51:40 UTC
From:
To:
Hi Stefan,

As you have a procedure to name the behaviour happening, can you
please bisect the changes between 6.12.88 and 6.12.90 so we can
identify the culprit and see if it is either a known problem upstream
or make an upstream report. Doing so will involve compiling and
testing a couple of kernels.

    git clone --single-branch -b linux-6.12.y https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
    cd linux-stable
    git checkout v6.12.88
    cp /boot/config-$(uname -r) .config
    yes '' | make localmodconfig
    make savedefconfig
    mv defconfig arch/x86/configs/my_defconfig

    # test 6.12.88 to ensure this is "good"
    make my_defconfig
    make -j $(nproc) bindeb-pkg
    ... install the resulting .deb package and confirm problem does not exist

    # test 6.12.90 to ensure this is "bad"
    git checkout v6.12.90
    make my_defconfig
    make -j $(nproc) bindeb-pkg
    ... install the resulting .deb package and confirm problem exists.

With that confirmed, the bisection can start:

    git bisect start
    git bisect good v6.12.88
    git bisect bad v6.12.90

In each bisection step git checks out a state between the oldest
known-bad and the newest known-good commit. In each step test using:

    make my_defconfig
    make -j $(nproc) bindeb-pkg
    ... install,  verify if problem exists

and if the problem is hit run:

    git bisect bad

and if the problem doesn't trigger run:

    git bisect good

. Please pay attention to always select the just built kernel for
booting, it won't always be the default kernel picked up by grub.

Iterate until git announces to have identified the first bad commit.

Then provide the output of

    git bisect log

In the course of the bisection you might have to uninstall previous
kernels again to not exhaust the disk space in /boot. Also in the end
uninstall all self-built kernels again.

Regards,
Salvatore

#1139942#25
Date:
2026-06-17 15:12:08 UTC
From:
To:
Good idea.  It's not fully deterministic (seemed to reboot more often
with higher uptime), so it will take some time.  Will let you know how
it goes.


=== Stefan