Hi, Forwarding as the original is not yet seen in cpufreq archives. Regards Afzal On Wed, Jan 04, 2012 at 10:52:31, Mohammed, Afzal wrote: > CPU frequency is guranteed to be changed on notifier callback with > CPUFREQ_POSTCHANGE. Notifier callback with CPUFREQ_PRECHANGE does > not gurantee a change in frequency; after it, if cpufreq driver is > unable to change CPU to new frequency. This results in wrong > information being fed to user (if setting CPU frequency fails) > upon doing like, > > cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed > > Hence in userspace governer update cpu_cur_freq only if notifier > has been called with POSTCHANGE. > > Signed-off-by: Afzal Mohammed <afzal@xxxxxx> > --- > drivers/cpufreq/cpufreq_userspace.c | 8 +++++--- > 1 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/cpufreq/cpufreq_userspace.c b/drivers/cpufreq/cpufreq_userspace.c > index f231015..bedac1a 100644 > --- a/drivers/cpufreq/cpufreq_userspace.c > +++ b/drivers/cpufreq/cpufreq_userspace.c > @@ -47,9 +47,11 @@ userspace_cpufreq_notifier(struct notifier_block *nb, unsigned long val, > if (!per_cpu(cpu_is_managed, freq->cpu)) > return 0; > > - pr_debug("saving cpu_cur_freq of cpu %u to be %u kHz\n", > - freq->cpu, freq->new); > - per_cpu(cpu_cur_freq, freq->cpu) = freq->new; > + if (val == CPUFREQ_POSTCHANGE) { > + pr_debug("saving cpu_cur_freq of cpu %u to be %u kHz\n", > + freq->cpu, freq->new); > + per_cpu(cpu_cur_freq, freq->cpu) = freq->new; > + } > > return 0; > } > -- > 1.7.1 > > -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html