]> git.baikalelectronics.ru Git - kernel.git/commit
cpufreq: Avoid calling cpufreq_verify_current_freq() from handle_update()
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 20 Jun 2019 03:05:50 +0000 (08:35 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 28 Jun 2019 09:24:56 +0000 (11:24 +0200)
commit304332f5a203dcdff8160a154b49193a5e991d58
tree53863dd8106c2f2a564da43055a3e1154da2895f
parentb52fd5b816829f109b366e5dd5d03ddff991306b
cpufreq: Avoid calling cpufreq_verify_current_freq() from handle_update()

On some occasions cpufreq_verify_current_freq() schedules a work whose
callback is handle_update(), which further calls cpufreq_update_policy()
which may end up calling cpufreq_verify_current_freq() again.

On the other hand, when cpufreq_update_policy() is called from
handle_update(), the pointer to the cpufreq policy is already
available, but cpufreq_cpu_acquire() is still called to get it in
cpufreq_update_policy(), which should be avoided as well.

To fix these issues, create a new helper, refresh_frequency_limits(),
and make both handle_update() call it cpufreq_update_policy().

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
[ rjw: Rename reeval_frequency_limits() as refresh_frequency_limits() ]
[ rjw: Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq.c