OSDN Git Service

acpi-cpufreq: Fix an ACPI perf unregister issue
authorPan Xinhui <xinhuix.pan@intel.com>
Fri, 10 Jul 2015 06:36:20 +0000 (14:36 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 16 Jul 2015 21:51:26 +0000 (23:51 +0200)
commit8cfcfd39000d54188e0df1e0fafe63f53897b62a
tree7c7ad200cad211909b8d2b3fa026c1a5e8d449c5
parent7f0fa40f5a587c2a026de776cc6a26373ac0f244
acpi-cpufreq: Fix an ACPI perf unregister issue

As policy->cpu may not be same in acpi_cpufreq_cpu_init() and
acpi_cpufreq_cpu_exit(). There is a risk that we use different CPU
to un/register ACPI performance. So acpi_processor_unregister_performance()
may not be able to do the cleanup work. That causes a memory leak. And
if there will be another acpi_processor_register_performance() call,
it may also fail thanks to the internal check of pr->performace.

So add a new struct acpi_cpufreq_data field, acpi_perf_cpu, to fix
this issue.

Signed-off-by: Pan Xinhui <xinhuix.pan@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
[ rjw: Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/acpi-cpufreq.c