Loading drivers/cpufreq/cpufreq.c +14 −4 Original line number Diff line number Diff line Loading @@ -1276,10 +1276,10 @@ static int __cpufreq_remove_dev_finish(struct device *dev, unsigned long flags; struct cpufreq_policy *policy; read_lock_irqsave(&cpufreq_driver_lock, flags); write_lock_irqsave(&cpufreq_driver_lock, flags); policy = per_cpu(cpufreq_cpu_data, cpu); per_cpu(cpufreq_cpu_data, cpu) = NULL; read_unlock_irqrestore(&cpufreq_driver_lock, flags); write_unlock_irqrestore(&cpufreq_driver_lock, flags); if (!policy) { pr_debug("%s: No cpu_data found\n", __func__); Loading Loading @@ -1445,12 +1445,17 @@ EXPORT_SYMBOL(cpufreq_quick_get_max); static unsigned int __cpufreq_get(unsigned int cpu) { struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_data, cpu); struct cpufreq_policy *policy; unsigned int ret_freq = 0; unsigned long flags; if (!cpufreq_driver->get) return ret_freq; read_lock_irqsave(&cpufreq_driver_lock, flags); policy = per_cpu(cpufreq_cpu_data, cpu); read_unlock_irqrestore(&cpufreq_driver_lock, flags); ret_freq = cpufreq_driver->get(cpu); if (ret_freq && policy->cur && Loading @@ -1474,12 +1479,17 @@ static unsigned int __cpufreq_get(unsigned int cpu) */ unsigned int cpufreq_get(unsigned int cpu) { struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_data, cpu); struct cpufreq_policy *policy; unsigned int ret_freq = 0; unsigned long flags; if (cpufreq_disabled() || !cpufreq_driver) return -ENOENT; read_lock_irqsave(&cpufreq_driver_lock, flags); policy = per_cpu(cpufreq_cpu_data, cpu); read_unlock_irqrestore(&cpufreq_driver_lock, flags); BUG_ON(!policy); if (!down_read_trylock(&cpufreq_rwsem)) Loading Loading
drivers/cpufreq/cpufreq.c +14 −4 Original line number Diff line number Diff line Loading @@ -1276,10 +1276,10 @@ static int __cpufreq_remove_dev_finish(struct device *dev, unsigned long flags; struct cpufreq_policy *policy; read_lock_irqsave(&cpufreq_driver_lock, flags); write_lock_irqsave(&cpufreq_driver_lock, flags); policy = per_cpu(cpufreq_cpu_data, cpu); per_cpu(cpufreq_cpu_data, cpu) = NULL; read_unlock_irqrestore(&cpufreq_driver_lock, flags); write_unlock_irqrestore(&cpufreq_driver_lock, flags); if (!policy) { pr_debug("%s: No cpu_data found\n", __func__); Loading Loading @@ -1445,12 +1445,17 @@ EXPORT_SYMBOL(cpufreq_quick_get_max); static unsigned int __cpufreq_get(unsigned int cpu) { struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_data, cpu); struct cpufreq_policy *policy; unsigned int ret_freq = 0; unsigned long flags; if (!cpufreq_driver->get) return ret_freq; read_lock_irqsave(&cpufreq_driver_lock, flags); policy = per_cpu(cpufreq_cpu_data, cpu); read_unlock_irqrestore(&cpufreq_driver_lock, flags); ret_freq = cpufreq_driver->get(cpu); if (ret_freq && policy->cur && Loading @@ -1474,12 +1479,17 @@ static unsigned int __cpufreq_get(unsigned int cpu) */ unsigned int cpufreq_get(unsigned int cpu) { struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_data, cpu); struct cpufreq_policy *policy; unsigned int ret_freq = 0; unsigned long flags; if (cpufreq_disabled() || !cpufreq_driver) return -ENOENT; read_lock_irqsave(&cpufreq_driver_lock, flags); policy = per_cpu(cpufreq_cpu_data, cpu); read_unlock_irqrestore(&cpufreq_driver_lock, flags); BUG_ON(!policy); if (!down_read_trylock(&cpufreq_rwsem)) Loading