From: Bagas Sanjaya <bagasdotme@gmail.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>,
Len Brown <len.brown@intel.com>, Pavel Machek <pavel@ucw.cz>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Kees Cook <keescook@chromium.org>,
Tony Luck <tony.luck@intel.com>,
"Guilherme G. Piccoli" <gpiccoli@igalia.com>,
Thorsten Leemhuis <linux@leemhuis.info>,
"James E.J. Bottomley" <jejb@linux.ibm.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Phillip Potter <phil@philpotter.co.uk>,
Joe Breuer <linux-kernel@jmbreuer.net>
Cc: Linux Power Management <linux-pm@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux Hardening <linux-hardening@vger.kernel.org>,
Linux Regressions <regressions@lists.linux.dev>,
Linux SCSI <linux-scsi@vger.kernel.org>
Subject: Fwd: Waking up from resume locks up on sr device
Date: Fri, 9 Jun 2023 18:04:31 +0700 [thread overview]
Message-ID: <2d1fdf6d-682c-a18d-2260-5c5ee7097f7d@gmail.com> (raw)
Hi,
I notice a regression report on Bugzilla [1]. Quoting from it:
> I'm running LibreELEC.tv on an x86_64 machine that, following a (kernel) update, now locks up hard while trying to device_resume() => device_lock() on sr 2:0:0:0 (the only sr device in the system).
>
> Through some digging of my own, I can pretty much isolate the fault in this device_lock() call:
> https://elixir.bootlin.com/linux/v6.3.4/source/drivers/base/power/main.c#L919
>
> I put an additional debug line exactly before the device_lock(dev) call, like this:
> dev_info(dev, "device_lock() in device_resume()");
>
> This is the last diagnostic I see, that device_lock() call never returns, ie line 920 in main.c is never reached (confirmed via TRACE_RESUME).
> The device, in my case, is printed as sr 2:0:0:0.
>
> Knowing this, as a workaround, booting with libata.force=3:disable (libata port 3 corresponds to the SATA channel that sr 2:0:0:0 is attached to) allows suspend/resume to work correctly (but the optical drive is not accessible, obviously).
>
> When resume hangs, the kernel is not _completely_ locked, interestingly the machine responds to pings and I see the e1000e 'link up' message a couple seconds after the hanging sr2 device_lock().
> Magic SysRq, however, does NOT work in that state; possibly because not enough of USB is resumed yet. Resuming devices seems to broadly follow a kind of breadth-first order; I see USB ports getting resumed closely before the lockup, but no USB (target) devices.
>
> This is a regression, earlier kernels would work correctly on the exact same hardware. Since it's an 'embedded' type (LibreELEC.tv) install that overwrites its system parts completely on each update, I don't have a clear historical record of kernel versions. From the timeline and my memory, moving from 5.x to 6.x would make sense. Due to the nature of the system, it's somewhat inconvenient for me to try numerous kernel versions blindly for a bisection; I will try to test against some current 5.x soon, however.
>
> I do have the hope that this information already might give someone with more background a strong idea about the issue.
>
> Next, I will try to put debug_show_all_locks() before device_lock(), since I can't Alt+SysRq+d.
See Bugzilla for the full thread.
Anyway, I'm adding it to regzbot (with rough version range since the reporter
only knows major kernel version numbers):
#regzbot introduced: v5.0..v6.4-rc5 https://bugzilla.kernel.org/show_bug.cgi?id=217530
#regzbot title: Waking up from resume locks up on SCSI CD/DVD drive
Thanks.
[1]: https://bugzilla.kernel.org/show_bug.cgi?id=217530
--
An old man doll... just what I always wanted! - Clara
next reply other threads:[~2023-06-09 11:05 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-09 11:04 Bagas Sanjaya [this message]
2023-06-10 6:38 ` Fwd: Waking up from resume locks up on sr device Bagas Sanjaya
2023-06-10 8:55 ` Pavel Machek
2023-06-10 13:27 ` Bagas Sanjaya
2023-06-10 15:03 ` Bart Van Assche
2023-06-11 9:05 ` Joe Breuer
2023-06-11 11:31 ` Bagas Sanjaya
2023-06-14 4:49 ` Damien Le Moal
2023-06-14 5:37 ` Kai-Heng Feng
2023-06-14 6:31 ` Damien Le Moal
2023-06-14 7:22 ` Damien Le Moal
2023-06-14 6:57 ` Hannes Reinecke
2023-06-14 7:35 ` Damien Le Moal
2023-06-14 14:26 ` Alan Stern
2023-06-14 14:40 ` Rafael J. Wysocki
2023-06-14 18:04 ` Bart Van Assche
2023-06-14 22:44 ` Damien Le Moal
2023-06-15 0:10 ` Damien Le Moal
2023-06-15 4:40 ` Christoph Hellwig
2023-06-15 4:57 ` Damien Le Moal
2023-06-15 5:09 ` Christoph Hellwig
2023-06-12 3:09 ` Damien Le Moal
2023-06-12 6:09 ` Hannes Reinecke
2023-06-12 7:22 ` Damien Le Moal
2023-06-12 7:36 ` Kai-Heng Feng
2023-06-12 7:47 ` Damien Le Moal
2023-06-12 14:33 ` Alan Stern
2023-06-12 15:37 ` Rafael J. Wysocki
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=2d1fdf6d-682c-a18d-2260-5c5ee7097f7d@gmail.com \
--to=bagasdotme@gmail.com \
--cc=gpiccoli@igalia.com \
--cc=gregkh@linuxfoundation.org \
--cc=jejb@linux.ibm.com \
--cc=keescook@chromium.org \
--cc=len.brown@intel.com \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@jmbreuer.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux@leemhuis.info \
--cc=martin.petersen@oracle.com \
--cc=pavel@ucw.cz \
--cc=phil@philpotter.co.uk \
--cc=rafael@kernel.org \
--cc=regressions@lists.linux.dev \
--cc=tony.luck@intel.com \
/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