diff options
| author | Geliang Tang <geliangtang@163.com> | 2015-10-01 10:18:19 -0400 |
|---|---|---|
| committer | MyungJoo Ham <myungjoo.ham@samsung.com> | 2015-10-01 22:05:58 -0400 |
| commit | 6d3cbfa718eeedd70efb9eb04ce9b261b6fa5b7b (patch) | |
| tree | 0bd2a0dc313bea46119fee336a2ea476e05b22ee /drivers/devfreq | |
| parent | 14a21e7ba8cf6eab968310c92ca19a00f13ce3d9 (diff) | |
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')
| -rw-r--r-- | drivers/devfreq/devfreq.c | 3 |
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, | |||
| 492 | if (err) { | 492 | if (err) { |
| 493 | put_device(&devfreq->dev); | 493 | put_device(&devfreq->dev); |
| 494 | mutex_unlock(&devfreq->lock); | 494 | mutex_unlock(&devfreq->lock); |
| 495 | goto err_dev; | 495 | goto err_out; |
| 496 | } | 496 | } |
| 497 | 497 | ||
| 498 | mutex_unlock(&devfreq->lock); | 498 | mutex_unlock(&devfreq->lock); |
| @@ -518,7 +518,6 @@ struct devfreq *devfreq_add_device(struct device *dev, | |||
| 518 | err_init: | 518 | err_init: |
| 519 | list_del(&devfreq->node); | 519 | list_del(&devfreq->node); |
| 520 | device_unregister(&devfreq->dev); | 520 | device_unregister(&devfreq->dev); |
| 521 | err_dev: | ||
| 522 | kfree(devfreq); | 521 | kfree(devfreq); |
| 523 | err_out: | 522 | err_out: |
| 524 | return ERR_PTR(err); | 523 | return ERR_PTR(err); |
