drivers base/arch_topology: free cpumask cpus_to_visit
Free cpumask cpus_to_visit in case registering init_cpu_capacity_notifier has failed or the parsing of the cpu capacity-dmips-mhz property is done. The cpumask cpus_to_visit is only used inside the notifier call init_cpu_capacity_callback. Reported-by: Vincent Guittot <vincent.guittot@linaro.org> Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com> Acked-by: Vincent Guittot <vincent.guittot@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Tested-by: Juri Lelli <juri.lelli@arm.com> Reviewed-by: Juri Lelli <juri.lelli@arm.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Родитель
9e66317d3c
Коммит
5408211a8f
|
@ -212,6 +212,8 @@ static struct notifier_block init_cpu_capacity_notifier = {
|
||||||
|
|
||||||
static int __init register_cpufreq_notifier(void)
|
static int __init register_cpufreq_notifier(void)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* on ACPI-based systems we need to use the default cpu capacity
|
* on ACPI-based systems we need to use the default cpu capacity
|
||||||
* until we have the necessary code to parse the cpu capacity, so
|
* until we have the necessary code to parse the cpu capacity, so
|
||||||
|
@ -227,8 +229,13 @@ static int __init register_cpufreq_notifier(void)
|
||||||
|
|
||||||
cpumask_copy(cpus_to_visit, cpu_possible_mask);
|
cpumask_copy(cpus_to_visit, cpu_possible_mask);
|
||||||
|
|
||||||
return cpufreq_register_notifier(&init_cpu_capacity_notifier,
|
ret = cpufreq_register_notifier(&init_cpu_capacity_notifier,
|
||||||
CPUFREQ_POLICY_NOTIFIER);
|
CPUFREQ_POLICY_NOTIFIER);
|
||||||
|
|
||||||
|
if (ret)
|
||||||
|
free_cpumask_var(cpus_to_visit);
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
core_initcall(register_cpufreq_notifier);
|
core_initcall(register_cpufreq_notifier);
|
||||||
|
|
||||||
|
@ -236,6 +243,7 @@ static void parsing_done_workfn(struct work_struct *work)
|
||||||
{
|
{
|
||||||
cpufreq_unregister_notifier(&init_cpu_capacity_notifier,
|
cpufreq_unregister_notifier(&init_cpu_capacity_notifier,
|
||||||
CPUFREQ_POLICY_NOTIFIER);
|
CPUFREQ_POLICY_NOTIFIER);
|
||||||
|
free_cpumask_var(cpus_to_visit);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
Загрузка…
Ссылка в новой задаче