On 12/01/2007 09:12 AM, Jiri Slaby wrote: > On 11/30/2007 11:58 PM, Bjorn Helgaas wrote: >> On Friday 30 November 2007 03:49:55 pm Jiri Slaby wrote: >>> On 11/30/2007 10:08 PM, Bjorn Helgaas wrote: >>>> On Thursday 29 November 2007 05:42:07 pm Andrew Morton wrote: >>>>> On Thu, 29 Nov 2007 16:40:37 -0700 >>>>>> Maybe we could either remove the pnp_{stop,start}_dev() calls >>>>>> from the suspend/resume path, or move the PNP resource management >>>>>> out of pnp_{start,stop}_dev(). >>>>>> >>>>>> Bjorn >>>>>> >>>>>> [1] http://lkml.org/lkml/2005/11/30/39 >>>>> So was this particular problem caused/exposed by >>>>> pnp-request-ioport-and-iomem-resources-used-by-active-devices.patch, >>>>> or is >>>>> it in mainline? >>>> I'm pretty sure this problem is caused by that patch, so we >>>> we shouldn't see this in mainline. >>>> >>>> Jiri, can you try the additional patch below, please? >>>> >>>> Index: linux-mm/drivers/pnp/driver.c >>>> =================================================================== >>>> --- linux-mm.orig/drivers/pnp/driver.c 2007-11-30 >>>> 13:58:25.000000000 -0700 >>>> +++ linux-mm/drivers/pnp/driver.c 2007-11-30 13:59:37.000000000 >>>> -0700 >>>> @@ -161,13 +161,6 @@ >>>> return error; >>>> } >>>> >>>> - if (!(pnp_drv->flags & PNP_DRIVER_RES_DO_NOT_CHANGE) && >>>> - pnp_can_disable(pnp_dev)) { >>>> - error = pnp_stop_dev(pnp_dev); >>>> - if (error) >>>> - return error; >>>> - } >>>> - >>>> if (pnp_dev->protocol && pnp_dev->protocol->suspend) >>>> pnp_dev->protocol->suspend(pnp_dev, state); >>>> return 0; >>>> @@ -185,12 +178,6 @@ >>>> if (pnp_dev->protocol && pnp_dev->protocol->resume) >>>> pnp_dev->protocol->resume(pnp_dev); >>>> >>>> - if (!(pnp_drv->flags & PNP_DRIVER_RES_DO_NOT_CHANGE)) { >>>> - error = pnp_start_dev(pnp_dev); >>>> - if (error) >>>> - return error; >>>> - } >>>> - >>>> if (pnp_drv->resume) >>>> return pnp_drv->resume(pnp_dev); >>>> >>> No, it breaks suspend. >> Thanks for trying it. What are the symptoms? I'd like to understand >> why we need to stop the devices before suspend. > > Ho hum, it's not so easy, it's kind of nondeterministic now. Maybe > some other > issue. If I remove 8250* modules from the kernel, it works. Otherwise > it locks > in the middle of suspend after disks and graphics go down no matter if > the patch > has been applied or not. Trying to investigate this further... I didn't get it. Maybe some trolls poking around or something (maybe the ext3 breakage which fsck fixed). It works after recompilation of the whole tree. And the important part -- the warning has gone. Just a note, fold this -fix into it: diff --git a/drivers/pnp/driver.c b/drivers/pnp/driver.c index f5b64ee..b0fc3ee 100644 --- a/drivers/pnp/driver.c +++ b/drivers/pnp/driver.c @@ -170,7 +170,6 @@ static int pnp_bus_resume(struct device *dev) { struct pnp_dev *pnp_dev = to_pnp_dev(dev); struct pnp_driver *pnp_drv = pnp_dev->driver; - int error; if (!pnp_drv) return 0; _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm