|
@@ -321,21 +321,14 @@ static int cpufreq_parse_governor(char *str_governor, unsigned int *policy,
|
|
t = __find_governor(str_governor);
|
|
t = __find_governor(str_governor);
|
|
|
|
|
|
if (t == NULL) {
|
|
if (t == NULL) {
|
|
- char *name = kasprintf(GFP_KERNEL, "cpufreq_%s",
|
|
|
|
- str_governor);
|
|
|
|
|
|
+ int ret;
|
|
|
|
|
|
- if (name) {
|
|
|
|
- int ret;
|
|
|
|
|
|
+ mutex_unlock(&cpufreq_governor_mutex);
|
|
|
|
+ ret = request_module("cpufreq_%s", str_governor);
|
|
|
|
+ mutex_lock(&cpufreq_governor_mutex);
|
|
|
|
|
|
- mutex_unlock(&cpufreq_governor_mutex);
|
|
|
|
- ret = request_module("%s", name);
|
|
|
|
- mutex_lock(&cpufreq_governor_mutex);
|
|
|
|
-
|
|
|
|
- if (ret == 0)
|
|
|
|
- t = __find_governor(str_governor);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- kfree(name);
|
|
|
|
|
|
+ if (ret == 0)
|
|
|
|
+ t = __find_governor(str_governor);
|
|
}
|
|
}
|
|
|
|
|
|
if (t != NULL) {
|
|
if (t != NULL) {
|