summaryrefslogtreecommitdiffstats
path: root/drivers/devfreq/devfreq.c
diff options
context:
space:
mode:
authorGeliang Tang <geliangtang@163.com>2015-10-01 16:18:19 +0200
committerMyungJoo Ham <myungjoo.ham@samsung.com>2015-10-02 04:05:58 +0200
commit6d3cbfa718eeedd70efb9eb04ce9b261b6fa5b7b (patch)
tree0bd2a0dc313bea46119fee336a2ea476e05b22ee /drivers/devfreq/devfreq.c
parentPM / devfreq: Fix governor_store() (diff)
downloadlinux-6d3cbfa718eeedd70efb9eb04ce9b261b6fa5b7b.tar.xz
linux-6d3cbfa718eeedd70efb9eb04ce9b261b6fa5b7b.zip
PM / devfreq: fix double kfree
When device_register() fails, kfree(devfreq) is called already in devfreq_dev_release(), hence there is no need to call kfree(devfreq) in err_dev again. Signed-off-by: Geliang Tang <geliangtang@163.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Diffstat (limited to 'drivers/devfreq/devfreq.c')
-rw-r--r--drivers/devfreq/devfreq.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index 4f1b0cebe9a4..ca848cc6a8fd 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -492,7 +492,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
if (err) {
put_device(&devfreq->dev);
mutex_unlock(&devfreq->lock);
- goto err_dev;
+ goto err_out;
}
mutex_unlock(&devfreq->lock);
@@ -518,7 +518,6 @@ struct devfreq *devfreq_add_device(struct device *dev,
err_init:
list_del(&devfreq->node);
device_unregister(&devfreq->dev);
-err_dev:
kfree(devfreq);
err_out:
return ERR_PTR(err);