On 24 June 2013 18:53, Rafael J. Wysocki <rjw@xxxxxxx> wrote: > You can do > > if (WARN(transition_ongoing, "<text>")) > return; > > and below analogously. Ahh.. stupid code.. Check if this fixup is fine (attached too) diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 6624694..6ca7eac 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -267,10 +267,9 @@ void __cpufreq_notify_transition(struct cpufreq_policy *policy, switch (state) { case CPUFREQ_PRECHANGE: - if (transition_ongoing) { - WARN(1, "In middle of another frequency transition\n"); + if (WARN(transition_ongoing, + "In middle of another frequency transition\n")) return; - } transition_ongoing++; @@ -293,10 +292,9 @@ void __cpufreq_notify_transition(struct cpufreq_policy *policy, break; case CPUFREQ_POSTCHANGE: - if (!transition_ongoing) { - WARN(1, "No frequency transition in progress\n"); + if (WARN(!transition_ongoing, + "No frequency transition in progress\n")) return; - } transition_ongoing--;
Attachment:
0001-cpufreq-make-sure-frequency-transitions-are-serializ.patch
Description: Binary data