PM / devfreq: Unlock mutex and free devfreq struct in error path

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+ <stable@vger.kernel.org> # v5.9+
Fixes: 4dc3bab868 ("PM / devfreq: Add support delayed timer for polling mode")
Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This commit is contained in:
Lukasz Luba 2021-03-15 09:31:23 +00:00 коммит произвёл Chanwoo Choi
Родитель 75d1b0b667
Коммит 8b50a79957
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -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) {