Re: [PATCH] PM / PCI: Do not resume any devices in pci_pm_prepare()
From: Bjorn Helgaas
Date: Tue Sep 26 2017 - 17:35:54 EST
On Mon, Sep 25, 2017 at 01:33:13AM +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> It should not be necessary to resume devices with ignore_children set
> in pci_pm_prepare(), because they should be resumed explcitly by
> their children drivers during suspend if need be and they will be
> resumed by pci_pm_suspend() after that anyway, so avoid doing that.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Oh, and I meant to also say that you've merged the PM-related things
here in the past, so I assume you'll take this one :)
> ---
> drivers/pci/pci-driver.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> Index: linux-pm/drivers/pci/pci-driver.c
> ===================================================================
> --- linux-pm.orig/drivers/pci/pci-driver.c
> +++ linux-pm/drivers/pci/pci-driver.c
> @@ -680,13 +680,6 @@ static int pci_pm_prepare(struct device
> {
> struct device_driver *drv = dev->driver;
>
> - /*
> - * Devices having power.ignore_children set may still be necessary for
> - * suspending their children in the next phase of device suspend.
> - */
> - if (dev->power.ignore_children)
> - pm_runtime_resume(dev);
> -
> if (drv && drv->pm && drv->pm->prepare) {
> int error = drv->pm->prepare(dev);
> if (error)
>