Re: [PATCH] PM / devfreq: unlock mutex and free devfreq struct in error path

From: Chanwoo Choi
Date: Mon Mar 15 2021 - 03:04:35 EST


Hi Lukasz,

On 3/13/21 3:45 AM, Lukasz Luba wrote:
> The devfreq->lock is held for time of setup. Release the lock in the
> error path, before jumping to the end of the function.
>
> Change the goto destination which frees the allocated memory.
>
> Signed-off-by: Lukasz Luba <lukasz.luba@xxxxxxx>
> ---
> drivers/devfreq/devfreq.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> index b6d3e7db0b09..99b2eeedc238 100644
> --- a/drivers/devfreq/devfreq.c
> +++ b/drivers/devfreq/devfreq.c
> @@ -822,7 +822,8 @@ struct devfreq *devfreq_add_device(struct device *dev,
>
> if (devfreq->profile->timer < 0
> || devfreq->profile->timer >= DEVFREQ_TIMER_NUM) {
> - goto err_out;
> + mutex_unlock(&devfreq->lock);
> + goto err_dev;
> }
>
> if (!devfreq->profile->max_state && !devfreq->profile->freq_table) {
>

Looks good to me. But, need to add the following information
and please use capital letter of the first character of patch title. Thanks.

Fixes: 4dc3bab8687f ("PM / devfreq: Add support delayed timer for polling mode")

Also, need to send it to stable lkml.

--
Best Regards,
Chanwoo Choi
Samsung Electronics