[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210315093123.20049-1-lukasz.luba@arm.com>
Date: Mon, 15 Mar 2021 09:31:23 +0000
From: Lukasz Luba <lukasz.luba@....com>
To: linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
cw00.choi@...sung.com
Cc: lukasz.luba@....com, myungjoo.ham@...sung.com,
kyungmin.park@...sung.com, stable@...r.kernel.org
Subject: [PATCH v2] 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@...r.kernel.org> # v5.9+
Fixes: 4dc3bab8687f ("PM / devfreq: Add support delayed timer for polling mode")
Signed-off-by: Lukasz Luba <lukasz.luba@....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) {
--
2.17.1
Powered by blists - more mailing lists