From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Viresh Kumar <viresh.kumar@linaro.org>,
Linux PM list <linux-pm@vger.kernel.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Subject: [PATCH] cpufreq: Abort cpufreq_update_current_freq() for cpufreq_suspended set
Date: Sun, 10 Apr 2016 06:08:08 +0200 [thread overview]
Message-ID: <1745622.RpCLJxTa46@vostro.rjw.lan> (raw)
In-Reply-To: <CAJZ5v0iDTTL5U5Btw7ioetgmiqoTB3m7F9C_BanEBxazLshBZA@mail.gmail.com>
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Since governor operations are generally skipped if cpufreq_suspended
is set, cpufreq_start_governor() should do nothing in that case.
That function is called in the cpufreq_online() path, and may also
be called from cpufreq_offline() in some cases, which are invoked
by the nonboot CPUs disabing/enabling code during system suspend
to RAM and resume. That happens when all devices have been
suspended, so if the cpufreq driver relies on things like I2C to
get the current frequency, it may not be ready to do that then.
To prevent problems from happening for this reason, make
cpufreq_update_current_freq(), which is the only function invoked
by cpufreq_start_governor() that doesn't check cpufreq_suspended
already, return 0 upfront if cpufreq_suspended is set.
Fixes: 3bbf8fe3ae08 (cpufreq: Always update current frequency before startig governor)
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
drivers/cpufreq/cpufreq.c | 3 +++
1 file changed, 3 insertions(+)
Index: linux-pm/drivers/cpufreq/cpufreq.c
===================================================================
--- linux-pm.orig/drivers/cpufreq/cpufreq.c
+++ linux-pm/drivers/cpufreq/cpufreq.c
@@ -1565,6 +1565,9 @@ static unsigned int cpufreq_update_curre
{
unsigned int new_freq;
+ if (cpufreq_suspended)
+ return 0;
+
new_freq = cpufreq_driver->get(policy->cpu);
if (!new_freq)
return 0;
next prev parent reply other threads:[~2016-04-10 4:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-07 1:29 [PATCH] cpufreq: Skip all governor-related actions for cpufreq_suspended set Rafael J. Wysocki
2016-04-07 4:28 ` Viresh Kumar
2016-04-07 11:22 ` Rafael J. Wysocki
2016-04-07 11:32 ` Viresh Kumar
2016-04-07 11:44 ` Rafael J. Wysocki
2016-04-07 12:05 ` Viresh Kumar
2016-04-07 22:05 ` Rafael J. Wysocki
2016-04-08 5:44 ` Viresh Kumar
2016-04-08 21:56 ` Rafael J. Wysocki
2016-04-08 5:45 ` Viresh Kumar
2016-04-08 21:54 ` Rafael J. Wysocki
2016-04-10 3:16 ` Viresh Kumar
2016-04-10 3:46 ` Rafael J. Wysocki
2016-04-10 4:08 ` Rafael J. Wysocki [this message]
2016-04-10 4:10 ` [PATCH] cpufreq: Abort cpufreq_update_current_freq() " Viresh Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1745622.RpCLJxTa46@vostro.rjw.lan \
--to=rjw@rjwysocki.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=srinivas.pandruvada@linux.intel.com \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox