|
@@ -589,12 +589,18 @@ EXPORT_SYMBOL(cpufreq_gov_ondemand);
|
|
|
|
|
|
static int __init cpufreq_gov_dbs_init(void)
|
|
static int __init cpufreq_gov_dbs_init(void)
|
|
{
|
|
{
|
|
|
|
+ int err;
|
|
|
|
+
|
|
kondemand_wq = create_workqueue("kondemand");
|
|
kondemand_wq = create_workqueue("kondemand");
|
|
if (!kondemand_wq) {
|
|
if (!kondemand_wq) {
|
|
printk(KERN_ERR "Creation of kondemand failed\n");
|
|
printk(KERN_ERR "Creation of kondemand failed\n");
|
|
return -EFAULT;
|
|
return -EFAULT;
|
|
}
|
|
}
|
|
- return cpufreq_register_governor(&cpufreq_gov_ondemand);
|
|
|
|
|
|
+ err = cpufreq_register_governor(&cpufreq_gov_ondemand);
|
|
|
|
+ if (err)
|
|
|
|
+ destroy_workqueue(kondemand_wq);
|
|
|
|
+
|
|
|
|
+ return err;
|
|
}
|
|
}
|
|
|
|
|
|
static void __exit cpufreq_gov_dbs_exit(void)
|
|
static void __exit cpufreq_gov_dbs_exit(void)
|