On Sunday, September 01, 2013 10:56:01 AM Viresh Kumar wrote: > __cpufreq_governor() returns with -EBUSY when governor is already stopped and we > try to stop it again, but when it is stopped we must not allow calls to > CPUFREQ_GOV_LIMITS event as well. > > This patch adds this check in __cpufreq_governor(). > > Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> > --- > Hi Rafael, > > Its better if we can get these in for 3.11, otherwise we need to get them in the > stable tree.. There's no way they could go into 3.11 or even 3.12 without speding time in linux-next. I'll queue them up for the second part of the 3.12 merge window, unless there is 3.11-rc8 (which I doubt will happen). > Anyway, we will get these in 3.10 stable tree but that requires us to identify > few more patches that will go with these. I will do that later. > > This must fix the issues reported by Stephen. > > Tested on my thinkpad over your linux-next branch. > > drivers/cpufreq/cpufreq.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c > index 5c75e31..f320a20 100644 > --- a/drivers/cpufreq/cpufreq.c > +++ b/drivers/cpufreq/cpufreq.c > @@ -1692,8 +1692,9 @@ static int __cpufreq_governor(struct cpufreq_policy *policy, > policy->cpu, event); > > mutex_lock(&cpufreq_governor_lock); > - if ((!policy->governor_enabled && (event == CPUFREQ_GOV_STOP)) || > - (policy->governor_enabled && (event == CPUFREQ_GOV_START))) { > + if ((policy->governor_enabled && (event == CPUFREQ_GOV_START)) || > + (!policy->governor_enabled && ((event == CPUFREQ_GOV_LIMITS) || > + (event == CPUFREQ_GOV_STOP)))) { Broken white space, but never mind. > mutex_unlock(&cpufreq_governor_lock); > return -EBUSY; > } Thanks, Rafael -- 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