On Mon, 2023-06-05 at 22:50 +0200, Lukas Wunner wrote: > On Mon, Jun 05, 2023 at 08:35:45PM +0200, Johannes Berg wrote: > > v2: use pm_runtime_get_noresume()/pm_runtime_put_noidle() > > instead as advised by Rafael > > You've changed the code but seemingly did not update the commit > message and code comment. > Yeah. I actually _considered_ that, but didn't feel it was really any different (or let's say wrong) now. That said, I probably don't understand the lingo around runtime PM well enough, and am more or less conflating "runtime PM" and "runtime suspend" in my head, which is still not allowed, and indeed that's the whole point of the patch. > Technically you're not "allowing" > runtime PM, you just stop keeping the device runtime active. > > A more fitting subject might thus be: > > PCI/PM: Keep devices runtime active during enumeration *shrug* Like I said, terminology I'm not familiar with. I guess I can change it, or if anyone ends up committing it as is (rather than treating it as an extended bug report) they can :-) > > --- a/drivers/pci/pci-driver.c > > +++ b/drivers/pci/pci-driver.c > > @@ -1278,6 +1278,9 @@ static int pci_pm_runtime_suspend(struct device *dev) > > pci_power_t prev = pci_dev->current_state; > > int error; > > > > + if (WARN_ON(!pci_dev_is_added(pci_dev))) > > + return -EBUSY; > > + > > If this can't happen (as the commit message says), why warn? The code here causes quite some trouble if it _does_ happen and it was incredibly tricky to debug. johannes