Thread (7 messages) 7 messages, 4 authors, 2012-12-17

Re: [Resend][PATCH] PM: Move disabling/enabling runtime PM to late suspend/early resume

From: Rafael J. Wysocki <hidden>
Date: 2012-12-16 01:25:04
Also in: lkml

On Saturday, December 15, 2012 10:16:29 PM Jiri Kosina wrote:
On Sat, 15 Dec 2012, Rafael J. Wysocki wrote:
quoted
From: Rafael J. Wysocki <redacted>

Currently, the PM core disables runtime PM for all devices right
after executing subsystem/driver .suspend() callbacks for them
and re-enables it right before executing subsystem/driver .resume()
callbacks for them.  This may lead to problems when there are
two devices such that the .suspend() callback executed for one of
them depends on runtime PM working for the other.  In that case,
if runtime PM has already been disabled for the second device,
the first one's .suspend() won't work correctly (and analogously
for resume).

To make those issues go away, make the PM core disable runtime PM
for devices right before executing subsystem/driver .suspend_late()
callbacks for them and enable runtime PM for them right after
executing subsystem/driver .resume_early() callbacks for them.  This
way the potential conflitcs between .suspend_late()/.resume_early()
and their runtime PM counterparts are still prevented from happening,
but the subtle ordering issues related to disabling/enabling runtime
PM for devices during system suspend/resume are much easier to avoid.

Reported-and-tested-by: Jan-Matthias Braun <redacted>
Signed-off-by: Rafael J. Wysocki <redacted>
Hi Rafael,

just curious what is the reason for resend? Do you want to gather more 
Acks before pushing this upstream?
Well, I thought that some people might actually look at it when they found it
again in their mailboxes. :-)

Thanks,
Rafael


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help