Re: [PATCH RESEND 2/4] PM / devfreq: Fix available_governors_show() when no governor is set

From: Jie Zhan

Date: Tue Mar 31 2026 - 03:09:45 EST




On 3/19/2026 5:17 PM, Yaxiong Tian wrote:
> Since devfreq_remove_governor() may clear the device's current governor
> in certain situations, while governors actually exist independently of
> the device, directly returning EINVAL in this case is inaccurate.
>
> To fix this issue, remove this check and use df->governor for validity
> verification in the following code.
>
> Fixes: 483d557ee9a3 ("PM / devfreq: Clean up the devfreq instance name in sysfs attr")
> Signed-off-by: Yaxiong Tian <tianyaxiong@xxxxxxxxxx>
LGTM

Reviewed-by: Jie Zhan <zhanjie9@xxxxxxxxxxxxx>
> ---
> drivers/devfreq/devfreq.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> index 63ce6e25abe2..0bf320123e3a 100644
> --- a/drivers/devfreq/devfreq.c
> +++ b/drivers/devfreq/devfreq.c
> @@ -1504,16 +1504,13 @@ static ssize_t available_governors_show(struct device *d,
> struct devfreq *df = to_devfreq(d);
> ssize_t count = 0;
>
> - if (!df->governor)
> - return -EINVAL;
> -
> mutex_lock(&devfreq_list_lock);
>
> /*
> * The devfreq with immutable governor (e.g., passive) shows
> * only own governor.
> */
> - if (IS_SUPPORTED_FLAG(df->governor->flags, IMMUTABLE)) {
> + if (df->governor && IS_SUPPORTED_FLAG(df->governor->flags, IMMUTABLE)) {
> count = scnprintf(&buf[count], DEVFREQ_NAME_LEN,
> "%s ", df->governor->name);
> /*