|
@@ -216,7 +216,7 @@ static int __cpufreq_stats_create_table(struct cpufreq_policy *policy,
|
|
|
stat->time_in_state = kzalloc(alloc_size, GFP_KERNEL);
|
|
stat->time_in_state = kzalloc(alloc_size, GFP_KERNEL);
|
|
|
if (!stat->time_in_state) {
|
|
if (!stat->time_in_state) {
|
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
|
- goto error_out;
|
|
|
|
|
|
|
+ goto error_alloc;
|
|
|
}
|
|
}
|
|
|
stat->freq_table = (unsigned int *)(stat->time_in_state + count);
|
|
stat->freq_table = (unsigned int *)(stat->time_in_state + count);
|
|
|
|
|
|
|
@@ -237,6 +237,8 @@ static int __cpufreq_stats_create_table(struct cpufreq_policy *policy,
|
|
|
stat->last_index = freq_table_get_index(stat, policy->cur);
|
|
stat->last_index = freq_table_get_index(stat, policy->cur);
|
|
|
spin_unlock(&cpufreq_stats_lock);
|
|
spin_unlock(&cpufreq_stats_lock);
|
|
|
return 0;
|
|
return 0;
|
|
|
|
|
+error_alloc:
|
|
|
|
|
+ sysfs_remove_group(&policy->kobj, &stats_attr_group);
|
|
|
error_out:
|
|
error_out:
|
|
|
kfree(stat);
|
|
kfree(stat);
|
|
|
per_cpu(cpufreq_stats_table, cpu) = NULL;
|
|
per_cpu(cpufreq_stats_table, cpu) = NULL;
|