Re: [Resend][PATCH] PM: Move disabling/enabling runtime PM to late suspend/early resume
From: Ulf Hansson <hidden>
Date: 2012-12-17 21:18:17
Also in:
lkml
On 16 December 2012 16:29, Alan Stern [off-list ref] wrote:
On Sun, 16 Dec 2012, Rafael J. Wysocki wrote:quoted
On Saturday, December 15, 2012 10:16:29 PM Jiri Kosina wrote:quoted
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. :-)I did look at it the first time it appeared. It seemed to be okay, but I haven't tried any testing. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
I believe this should work fine for ux500 platforms, so: Reviewed-by: Ulf Hansson <redacted> Kind regards Ulf Hansson