stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ilya Trukhanov <lahvuun@gmail.com>
To: stable@vger.kernel.org
Cc: regressions@lists.linux.dev, linux-efi@vger.kernel.org,
	linux-pm@vger.kernel.org, javierm@redhat.com,
	tzimmermann@suse.de, ardb@kernel.org, rafael@kernel.org,
	len.brown@intel.com, pavel@ucw.cz
Subject: [REGRESSION]: drivers/firmware: move x86 Generic System Framebuffers support
Date: Wed, 10 Nov 2021 22:02:53 +0200	[thread overview]
Message-ID: <20211110200253.rfudkt3edbd3nsyj@lahvuun> (raw)

Suspend-to-RAM with elogind under Wayland stopped working in 5.15.

This occurs with 5.15, 5.15.1 and latest master at
89d714ab6043bca7356b5c823f5335f5dce1f930. 5.14 and earlier releases work
fine.

git bisect gives d391c58271072d0b0fad93c82018d495b2633448.

To reproduce:
- Use elogind and Linux 5.15.1 with CONFIG_SYSFB_SIMPLEFB=n.
- Start a Wayland session. I tested sway and weston, neither worked.
- In a terminal emulator (I used alacritty) execute `loginctl suspend`.

Normally after the last step the system would suspend, but it no longer
does so after I upgraded to Linux 5.15. After running `loginctl suspend`
in dmesg I get the following:
[  103.098782] elogind-daemon[2357]: Suspending system...
[  103.098794] PM: suspend entry (deep)
[  103.124621] Filesystems sync: 0.025 seconds

But nothing happens afterwards.

Suspend works as expected if I do any of the following:
- Revert d391c58271072d0b0fad93c82018d495b2633448.
- Build with CONFIG_SYSFB_SIMPLEFB=y.
- Suspend from tty, even if a Wayland session is running in parallel.
- Suspend from under an X11 session.
- Suspend with `echo mem > /sys/power/state`.

If I attach strace to the elogind-daemon process after running
`loginctl suspend` then the system immediately suspends. However, if
I attach strace *prior* to running `loginctl suspend` then no suspend,
and the process gets stuck on a write syscall to `/sys/power/state`.

I "traced" a little bit with printk (sorry, I don't know of a better
way) and the call chain is as follows:
state_store -> pm_suspend -> enter_state -> suspend_prepare
-> pm_prepare_console -> vt_move_to_console -> vt_waitactive
-> __vt_event_wait

__vt_event_wait just waits until wait_event_interruptible completes, but
it never does (not until I attach to elogind-daemon with strace, at
least). I did not follow the chain further.

- Linux version 5.15.1 (lahvuun@lahvuun) (gcc (Gentoo 11.2.0 p1) 11.2.0,
  GNU ld (Gentoo 2.37_p1 p0) 2.37) #51 SMP PREEMPT Tue Nov 9 23:39:25
  EET 2021
- Gentoo Linux 2.8
- x86_64 AuthenticAMD
- dmesg: https://pastebin.com/duj33bY8
- .config: https://pastebin.com/7Hew1g0T

             reply	other threads:[~2021-11-10 20:02 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-10 20:02 Ilya Trukhanov [this message]
2021-11-10 22:24 ` [REGRESSION]: drivers/firmware: move x86 Generic System Framebuffers support Ard Biesheuvel
2021-11-10 23:21   ` Ilya Trukhanov
2021-11-10 23:25     ` Ard Biesheuvel
2021-11-11  0:08       ` Ilya Trukhanov
2021-11-10 23:07 ` Javier Martinez Canillas
2021-11-11  0:45   ` Ilya Trukhanov
2021-11-11  7:31     ` Javier Martinez Canillas
2021-11-11  9:24       ` Javier Martinez Canillas
2021-11-11 10:52         ` Ilya Trukhanov
2021-11-11 11:13           ` Javier Martinez Canillas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211110200253.rfudkt3edbd3nsyj@lahvuun \
    --to=lahvuun@gmail.com \
    --cc=ardb@kernel.org \
    --cc=javierm@redhat.com \
    --cc=len.brown@intel.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=rafael@kernel.org \
    --cc=regressions@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).