Re: WARNING: at kernel/resource.c:189 __release_resource

From: Jiri Slaby
Date: Fri Nov 30 2007 - 17:50:32 EST


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.

regards,
--
Jiri Slaby (jirislaby@xxxxxxxxx)
Faculty of Informatics, Masaryk University
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/