On 3/15/21 6:31 PM, 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.
> 
> Cc: v5.9+ <sta...@vger.kernel.org> # v5.9+
> Fixes: 4dc3bab8687f ("PM / devfreq: Add support delayed timer for polling 
> mode")
> Signed-off-by: Lukasz Luba <lukasz.l...@arm.com>
> ---
> v2:
> - added fixes tag and CC stable v5.9+
> - used capital letter in commit header
> 
> 
>  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) {
> 


Applied it. Thanks.

-- 
Best Regards,
Chanwoo Choi
Samsung Electronics

Reply via email to