From 19cb3f2ce4bfd27b5528449f8f1152a2f64a77b5 Mon Sep 17 00:00:00 2001 From: Gaurav Singh Date: Fri, 25 Feb 2022 12:19:45 +0530 Subject: [PATCH] msm_perf: check cpu_possible to improve stability check cpu_possible to improve stability Change-Id: I9ce3b5a5a6b1e846f44ffb9e255cc5b6b701b377 Signed-off-by: Gaurav Singh --- drivers/soc/qcom/msm_performance.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/drivers/soc/qcom/msm_performance.c b/drivers/soc/qcom/msm_performance.c index a2dcfac2f267..28163e9f4d54 100644 --- a/drivers/soc/qcom/msm_performance.c +++ b/drivers/soc/qcom/msm_performance.c @@ -298,13 +298,15 @@ static ssize_t set_cpu_min_freq(struct kobject *kobj, for (i = 0; i < ntokens; i += 2) { if (sscanf(cp, "%u:%u", &cpu, &val) != 2) return -EINVAL; - if (cpu > (num_present_cpus() - 1)) - return -EINVAL; + if (cpu >= nr_cpu_ids) + break; - i_cpu_stats = &per_cpu(msm_perf_cpu_stats, cpu); + if (cpu_possible(cpu)) { + i_cpu_stats = &per_cpu(msm_perf_cpu_stats, cpu); - i_cpu_stats->min = val; - cpumask_set_cpu(cpu, limit_mask_min); + i_cpu_stats->min = val; + cpumask_set_cpu(cpu, limit_mask_min); + } cp = strnchr(cp, strlen(cp), ' '); cp++; @@ -385,13 +387,15 @@ static ssize_t set_cpu_max_freq(struct kobject *kobj, for (i = 0; i < ntokens; i += 2) { if (sscanf(cp, "%u:%u", &cpu, &val) != 2) return -EINVAL; - if (cpu > (num_present_cpus() - 1)) - return -EINVAL; + if (cpu >= nr_cpu_ids) + break; - i_cpu_stats = &per_cpu(msm_perf_cpu_stats, cpu); + if (cpu_possible(cpu)) { + i_cpu_stats = &per_cpu(msm_perf_cpu_stats, cpu); - i_cpu_stats->max = val; - cpumask_set_cpu(cpu, limit_mask_max); + i_cpu_stats->max = val; + cpumask_set_cpu(cpu, limit_mask_max); + } cp = strnchr(cp, strlen(cp), ' '); cp++;