Re: [PATCH] cpufreq: skip cpufreq resume if it's not suspended

From: Saravana Kannan
Date: Thu Feb 15 2018 - 16:27:17 EST


On 02/05/2018 01:05 AM, Viresh Kumar wrote:
On 05-02-18, 09:50, Rafael J. Wysocki wrote:
By design (which I admit may be confusing) it should be fine to call
dpm_resume_end() after a failing dpm_suspend_start(), whatever the reason
for the failure is. cpufreq_suspend/resume() don't take that into account,
everybody else does.

Hmm, I see. Can't do much then, just fix the only broken piece of code :)


Sorry for the late reply, this email didn't get filtered into the right folder.

I think the design of dpm_suspend_start() and dpm_resume_end() generally works fine because we seem to keep track of what devices have been suspended so far (in the dpm_suspended_list) and call resume only of those. So, why isn't the right fix to have cpufreq get put into that list? Instead of just always call it on the resume path even if it wasn't suspended? That seems to be the real issue.

So, we should either have dpm_suspend/resume() have a flag to keep track of if cpufreq_suspend/resume() was called and make sure they are called in proper pairs. Or have cpufreq register in a way that gets it put in the suspend/resume list.

I'd still like to NACK this change.

-Saravana

--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project