Re: [PATCH v4] PCI/PM: Prevent runtime suspend before devices are fully initialized

Bjorn Helgaas
2026-01-14T16:45:40Z

On Wed, Jan 14, 2026 at 10:46:41AM +0100, Marek Szyprowski wrote:
> On 06.01.2026 23:27, Bjorn Helgaas wrote:
> > On Thu, Oct 23, 2025 at 02:09:01PM -0700, Brian Norris wrote:
> >> Today, it's possible for a PCI device to be created and
> >> runtime-suspended before it is fully initialized. When that happens, the
> >> device will remain in D0, but the suspend process may save an
> >> intermediate version of that device's state -- for example, without
> >> appropriate BAR configuration. When the device later resumes, we'll
> >> restore invalid PCI state and the device may not function.
> ...

> > Link: https://patch.msgid.link/20251023140901.v4.1.I60a53c170a8596661883bd2b4ef475155c7aa72b@changeid
>
> This patch landed recently in linux-next as commit c796513dc54e
> ("PCI/PM: Prevent runtime suspend until devices are fully initialized").
> In my tests I found that it sometimes causes the "pci 0000:01:00.0:
> runtime PM trying to activate child device 0000:01:00.0 but parent
> (0000:00:00.0) is not active" warning on Qualcomm Robotics RB5 board
> (arch/arm64/boot/dts/qcom/qrb5165-rb5.dts). This in turn causes a
> lockdep warning about console lock, but this is just a consequence of
> the runtime pm warning. Reverting $subject patch on top of current
> linux-next hides this warning.

I moved this patch from pci/pm to pci/pend to remove it from
linux-next while we figure this out. Thanks for the report and
debugging!

Bjorn