Messages in this thread Patch in this message | | | From | Yinghai Lu <> | Subject | [PATCH] cpufreq: return EEXIST instead of EBUSY for second registering | Date | Wed, 18 Sep 2013 21:05:20 -0700 |
| |
System that cpu support intel_pstate, acpi_cpufreq fail to load, and udev keep trying until trace get filled up and kernel crash.
The root cause is driver return ret from cpufreq_register_driver and when some other driver take over before, it would return EBUSY, then udev will keep trying...
cpufreq_register_driver should return EEXIST instead. then system could boot without appending intel_pstate=disable and still use intel_pstate.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
--- drivers/cpufreq/cpufreq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6/drivers/cpufreq/cpufreq.c =================================================================== --- linux-2.6.orig/drivers/cpufreq/cpufreq.c +++ linux-2.6/drivers/cpufreq/cpufreq.c @@ -2104,7 +2104,7 @@ int cpufreq_register_driver(struct cpufr 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);
| |