diff --git a/drivers/cpufreq/qcom-cpufreq-hw.c b/drivers/cpufreq/qcom-cpufreq-hw.c index 5aed4ae5fe5c..f53eddf5a7e3 100644 --- a/drivers/cpufreq/qcom-cpufreq-hw.c +++ b/drivers/cpufreq/qcom-cpufreq-hw.c @@ -438,10 +438,10 @@ static int qcom_resources_init(struct platform_device *pdev) static int qcom_cpufreq_hw_driver_probe(struct platform_device *pdev) { - int rc; struct cpu_cycle_counter_cb cycle_counter_cb = { .get_cpu_cycle_counter = qcom_cpufreq_get_cpu_cycle_counter, }; + int rc, cpu; /* Get the bases of cpufreq for domains */ rc = qcom_resources_init(pdev); @@ -456,6 +456,9 @@ static int qcom_cpufreq_hw_driver_probe(struct platform_device *pdev) return rc; } + for_each_possible_cpu(cpu) + spin_lock_init(&qcom_cpufreq_counter[cpu].lock); + rc = register_cpu_cycle_counter_cb(&cycle_counter_cb); if (rc) { dev_err(&pdev->dev, "cycle counter cb failed to register\n");