summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/cpufreq.c
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2013-09-18 21:05:20 -0700
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-09-20 00:37:10 +0200
commit4dea5806d332f91d640d99943db99a5539e832c3 (patch)
treed75223cd2f1abea323cae98f3b198e430d69da48 /drivers/cpufreq/cpufreq.c
parente4a6a29d1250022a885123cc0a04bd176b508854 (diff)
downloadblackbird-obmc-linux-4dea5806d332f91d640d99943db99a5539e832c3.tar.gz
blackbird-obmc-linux-4dea5806d332f91d640d99943db99a5539e832c3.zip
cpufreq: return EEXIST instead of EBUSY for second registering
On systems that support intel_pstate, acpi_cpufreq fails to load, and udev keeps trying until trace gets filled up and kernel crashes. The root cause is driver return ret from cpufreq_register_driver(), because when some other driver takes over before, it will return EBUSY and then udev will keep trying ... cpufreq_register_driver() should return EEXIST instead so that the system can boot without appending intel_pstate=disable and still use intel_pstate. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq/cpufreq.c')
-rw-r--r--drivers/cpufreq/cpufreq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 82ecbe39dfb0..89b3c52cd5c3 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -2104,7 +2104,7 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
write_lock_irqsave(&cpufreq_driver_lock, flags);
if (cpufreq_driver) {
write_unlock_irqrestore(&cpufreq_driver_lock, flags);
- return -EBUSY;
+ return -EEXIST;
}
cpufreq_driver = driver_data;
write_unlock_irqrestore(&cpufreq_driver_lock, flags);
OpenPOWER on IntegriCloud