From: Viresh Kumar Date: Tue, 25 Feb 2014 08:59:44 +0000 (+0530) Subject: cpufreq: Return error if ->get() failed in cpufreq_update_policy() X-Git-Tag: v3.15-rc1~151^2~2^2~9^2~11^2~5 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=bd0fa9bb455d;p=~emulex%2Finfiniband.git cpufreq: Return error if ->get() failed in cpufreq_update_policy() cpufreq_update_policy() calls cpufreq_driver->get() to get current frequency of a CPU and it is not supposed to fail or return zero. Return error in case that happens. Signed-off-by: Viresh Kumar Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 5815af50d3d..56b7b1be352 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -2139,6 +2139,11 @@ int cpufreq_update_policy(unsigned int cpu) */ if (cpufreq_driver->get) { new_policy.cur = cpufreq_driver->get(cpu); + if (WARN_ON(!new_policy.cur)) { + ret = -EIO; + goto no_policy; + } + if (!policy->cur) { pr_debug("Driver did not initialize current freq"); policy->cur = new_policy.cur;