Messages in this thread | | | Date | Mon, 15 Jul 2013 11:48:04 +0530 | From | "Srivatsa S. Bhat" <> | Subject | Re: [PATCH 1/8] cpufreq: Revert commit a66b2e to fix cpufreq regression during suspend/resume |
| |
On 07/13/2013 06:16 PM, Paul Bolle wrote: > On Fri, 2013-07-12 at 12:48 +0530, Viresh Kumar wrote: >> On 12 July 2013 03:45, Srivatsa S. Bhat >> <srivatsa.bhat@linux.vnet.ibm.com> wrote: >>> commit a66b2e (cpufreq: Preserve sysfs files across suspend/resume) has >>> unfortunately caused several things in the cpufreq subsystem to break subtly >>> after a suspend/resume cycle. >>> >>> The intention of that patch was to retain the file permissions of the >>> cpufreq related sysfs files across suspend/resume. To achieve that, the commit >>> completely removed the calls to cpufreq_add_dev() and __cpufreq_remove_dev() >>> during suspend/resume transitions. But the problem is that those functions >>> do 2 kinds of things: >>> 1. Low-level initialization/tear-down that are critical to the correct >>> functioning of cpufreq-core. >>> 2. Kobject and sysfs related initialization/teardown. >>> >>> Ideally we should have reorganized the code to cleanly separate these two >>> responsibilities, and skipped only the sysfs related parts during >>> suspend/resume. Since we skipped the entire callbacks instead (which also >>> included some CPU and cpufreq-specific critical components), cpufreq >>> subsystem started behaving erratically after suspend/resume. >>> >>> So revert the commit to fix the regression. We'll revisit and address the >>> original goal of that commit separately, since it involves quite a bit of >>> careful code reorganization and appears to be non-trivial. >>> >>> (While reverting the commit, note that another commit f51e1eb "cpufreq: >>> Fix cpufreq regression after suspend/resume" already reverted part of the >>> original set of changes. So revert only the remaining ones). >>> >>> Cc: stable@vger.kernel.org >>> Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> >>> --- >>> >>> drivers/cpufreq/cpufreq.c | 4 +++- >>> drivers/cpufreq/cpufreq_stats.c | 6 ++---- >>> 2 files changed, 5 insertions(+), 5 deletions(-) >> >> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> > > This seems to fix the "core stuck at some frequency after resume" issue > I ran into since v3.10. So: > > Tested-by: Paul Bolle <pebolle@tiscali.nl> >
Thanks Paul!
Regards, Srivatsa S. Bhat
| |