Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44871c9c authored by Lan Tianyu's avatar Lan Tianyu Committed by Rafael J. Wysocki
Browse files

cpufreq: Acquire the lock in cpufreq_policy_restore() for reading



In cpufreq_policy_restore() before system suspend policy is read from
percpu's cpufreq_cpu_data_fallback.  It's a read operation rather
than a write one, so take the lock for reading in there.

Signed-off-by: default avatarLan Tianyu <tianyu.lan@intel.com>
Reviewed-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent cb38ed5c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -906,11 +906,11 @@ static struct cpufreq_policy *cpufreq_policy_restore(unsigned int cpu)
	struct cpufreq_policy *policy;
	unsigned long flags;

	write_lock_irqsave(&cpufreq_driver_lock, flags);
	read_lock_irqsave(&cpufreq_driver_lock, flags);

	policy = per_cpu(cpufreq_cpu_data_fallback, cpu);

	write_unlock_irqrestore(&cpufreq_driver_lock, flags);
	read_unlock_irqrestore(&cpufreq_driver_lock, flags);

	return policy;
}