Re: [PATCH 1/1] driver core: disable device's runtime pm duringshutdown

From: Alan Stern
Date: Mon Dec 05 2011 - 11:02:39 EST


On Mon, 5 Dec 2011, Ming Lei wrote:

> Sorry, the above is line wrapped badly, see the below:
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index d8b3d89..96b266c 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -1743,8 +1743,9 @@ void device_shutdown(void)
> */
> list_del_init(&dev->kobj.entry);
> spin_unlock(&devices_kset->list_lock);
> - /* Disable all device's runtime power management */
> - pm_runtime_disable(dev);
> +
> + /* put device into active state and forbit runtime pm */
> + pm_runtime_forbid(dev);
>
> if (dev->bus && dev->bus->shutdown) {
> dev_dbg(dev, "shutdown\n");

We don't want to put devices into the active state when it's not
necessary. A better approach would be:

/* Don't allow any more runtime suspends */
pm_runtime_get_noresume(dev);
pm_runtime_barrier(dev);

Alan Stern

--
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/