lkml.org 
[lkml]   [2009]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [linux-pm] [PATCH] PM: Fixes warning on suspend errors
    On Tue, 27 Oct 2009, Dasgupta, Romit wrote:

    > Hi,
    > I get the following errors when I choose devices in /sys/power/pm_test. It also shows that if 'dpm_suspend_start' fails somewhere down the line then the kernel does not reset the 'transition_started' variable and we can get warning similar to below. IMHO 'dpm_resume_noirq' is not the right place for setting this variable. Please see the patch below which fixes the issue.

    > Fixes the location where we decide that our power transition is complete.
    > Signed-off-by: Romit Dasgupta <romit@ti.com>
    > ---
    > diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
    > index e0dc407..6b9e991 100644
    > --- a/drivers/base/power/main.c
    > +++ b/drivers/base/power/main.c
    > @@ -365,7 +365,6 @@ void dpm_resume_noirq(pm_message_t state)
    > struct device *dev;
    >
    > mutex_lock(&dpm_list_mtx);
    > - transition_started = false;
    > list_for_each_entry(dev, &dpm_list, power.entry)
    > if (dev->power.status > DPM_OFF) {
    > int error;
    > @@ -529,6 +528,7 @@ static void dpm_complete(pm_message_t state)
    > put_device(dev);
    > }
    > list_splice(&list, &dpm_list);
    > + transition_started = false;
    > mutex_unlock(&dpm_list_mtx);
    > }

    The second hunk is okay, but the first hunk isn't. We want to set
    transition_started to false as soon as devices start resuming, because
    once a resume has begun it's okay to add new devices.

    Alan Stern



    \
     
     \ /
      Last update: 2009-10-27 14:41    [W:0.019 / U:30.684 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site