Message ID | 1378883105-1411-1-git-send-email-tianyu.lan@intel.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
On 09/11/2013 12:35 PM, tianyu.lan@intel.com wrote: > From: Lan Tianyu <tianyu.lan@intel.com> > > In the cpufreq_policy_restore(), policy before system suspend is read from > from percpu's cpufreq_cpu_data_fallback. It's read operation rather than > write operation. So convert write lock to read lock > > Signed-off-by: Lan Tianyu <tianyu.lan@intel.com> Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> I noticed it too yesterday, while looking at something else. Thanks for fixing this! > --- > drivers/cpufreq/cpufreq.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c > index 81ceea6..b762f9b 100644 > --- a/drivers/cpufreq/cpufreq.c > +++ b/drivers/cpufreq/cpufreq.c > @@ -912,11 +912,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; > } > Regards, Srivatsa S. Bhat -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 11 September 2013 12:35, <tianyu.lan@intel.com> wrote: > From: Lan Tianyu <tianyu.lan@intel.com> > > In the cpufreq_policy_restore(), policy before system suspend is read from > from percpu's cpufreq_cpu_data_fallback. It's read operation rather than > write operation. So convert write lock to read lock > > Signed-off-by: Lan Tianyu <tianyu.lan@intel.com> > --- > drivers/cpufreq/cpufreq.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c > index 81ceea6..b762f9b 100644 > --- a/drivers/cpufreq/cpufreq.c > +++ b/drivers/cpufreq/cpufreq.c > @@ -912,11 +912,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; > } Acked-by: Viresh Kumar <viresh.kumar@linaro.org> -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wednesday, September 11, 2013 03:05:05 PM tianyu.lan@intel.com wrote: > From: Lan Tianyu <tianyu.lan@intel.com> > > In the cpufreq_policy_restore(), policy before system suspend is read from > from percpu's cpufreq_cpu_data_fallback. It's read operation rather than > write operation. So convert write lock to read lock > > Signed-off-by: Lan Tianyu <tianyu.lan@intel.com> Applied, thanks Tianyu! > --- > drivers/cpufreq/cpufreq.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c > index 81ceea6..b762f9b 100644 > --- a/drivers/cpufreq/cpufreq.c > +++ b/drivers/cpufreq/cpufreq.c > @@ -912,11 +912,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; > } >
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 81ceea6..b762f9b 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -912,11 +912,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; }