cpuidle: governor: Add new governors to cpuidle_governors again
authorRafael J. Wysocki <[email protected]>
Tue, 12 Mar 2019 18:13:13 +0000 (19:13 +0100)
committerRafael J. Wysocki <[email protected]>
Tue, 12 Mar 2019 22:46:55 +0000 (23:46 +0100)
After commit 61cb5758d3c4 ("cpuidle: Add cpuidle.governor= command
line parameter") new cpuidle governors are not added to the list
of available governors, so governor selection via sysfs doesn't
work as expected (even though it is rarely used anyway).

Fix that by making cpuidle_register_governor() add new governors to
cpuidle_governors again.

Fixes: 61cb5758d3c4 ("cpuidle: Add cpuidle.governor= command line parameter")
Reported-by: Kees Cook <[email protected]>
Cc: 5.0+ <[email protected]> # 5.0+
Signed-off-by: Rafael J. Wysocki <[email protected]>
drivers/cpuidle/governor.c

index bb93e5cf6a4ae5ca386ef8bb67fbe22d6d8c651d..9fddf828a76f2c0fba82e08f14bb42aeb4dd2e8d 100644 (file)
@@ -89,6 +89,7 @@ int cpuidle_register_governor(struct cpuidle_governor *gov)
        mutex_lock(&cpuidle_lock);
        if (__cpuidle_find_governor(gov->name) == NULL) {
                ret = 0;
+               list_add_tail(&gov->governor_list, &cpuidle_governors);
                if (!cpuidle_curr_governor ||
                    !strncasecmp(param_governor, gov->name, CPUIDLE_NAME_LEN) ||
                    (cpuidle_curr_governor->rating < gov->rating &&