mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 17:25:38 +00:00
cpufreq: governor: Free dbs_data directly when gov->init() fails
Due to the kobject embedded in the dbs_data doest not has a release() method yet, it needs to use kfree() to free dbs_data directly when governor fails to allocate the tunner field of dbs_data. Signed-off-by: Liao Chang <liaochang1@huawei.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
61bfbf7951
commit
916f138840
@ -439,7 +439,7 @@ int cpufreq_dbs_governor_init(struct cpufreq_policy *policy)
|
|||||||
|
|
||||||
ret = gov->init(dbs_data);
|
ret = gov->init(dbs_data);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto free_policy_dbs_info;
|
goto free_dbs_data;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The sampling interval should not be less than the transition latency
|
* The sampling interval should not be less than the transition latency
|
||||||
@ -474,6 +474,8 @@ int cpufreq_dbs_governor_init(struct cpufreq_policy *policy)
|
|||||||
if (!have_governor_per_policy())
|
if (!have_governor_per_policy())
|
||||||
gov->gdbs_data = NULL;
|
gov->gdbs_data = NULL;
|
||||||
gov->exit(dbs_data);
|
gov->exit(dbs_data);
|
||||||
|
|
||||||
|
free_dbs_data:
|
||||||
kfree(dbs_data);
|
kfree(dbs_data);
|
||||||
|
|
||||||
free_policy_dbs_info:
|
free_policy_dbs_info:
|
||||||
|
Loading…
Reference in New Issue
Block a user