mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 05:04:09 +08:00
thermal: cpufreq_cooling: Check the policy first in cpufreq_cooling_register()
Since the policy needs to be accessed first when obtaining cpu devices,
first check whether the policy is legal before this.
Fixes: 5130802ddb
("thermal: cpu_cooling: Switch to QoS requests for freq limits")
Signed-off-by: Xuewen Yan <xuewen.yan@unisoc.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
1ea252ef29
commit
cff895277c
@ -501,17 +501,17 @@ __cpufreq_cooling_register(struct device_node *np,
|
||||
struct thermal_cooling_device_ops *cooling_ops;
|
||||
char *name;
|
||||
|
||||
if (IS_ERR_OR_NULL(policy)) {
|
||||
pr_err("%s: cpufreq policy isn't valid: %p\n", __func__, policy);
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
|
||||
dev = get_cpu_device(policy->cpu);
|
||||
if (unlikely(!dev)) {
|
||||
pr_warn("No cpu device for cpu %d\n", policy->cpu);
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
if (IS_ERR_OR_NULL(policy)) {
|
||||
pr_err("%s: cpufreq policy isn't valid: %p\n", __func__, policy);
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
|
||||
i = cpufreq_table_count_valid_entries(policy);
|
||||
if (!i) {
|
||||
pr_debug("%s: CPUFreq table not found or has no valid entries\n",
|
||||
|
Loading…
Reference in New Issue
Block a user