diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2011-11-10 18:15:15 +0100 |
---|---|---|
committer | Lokesh Pathak <lpathak@nvidia.com> | 2012-03-05 07:49:27 -0800 |
commit | 2769ec26e0419872901e5784bc0a2e1890661714 (patch) | |
tree | 99462646b101435a29babcb21dccdd6f4bfc241b /drivers/base/regmap | |
parent | be467876d52de68446f67d734804a16ffd358d34 (diff) |
regmap: Fix memory leak in regmap_init error path
If regcache initialization fails regmap_init will currently exit without
freeing work_buf.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
(cherry picked from commit 58072cbfc522c2520e34333a53c8f17bb1adb1a0)
Change-Id: I55877ab14da86fbc479a0418c7f5371486574525
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/87553
Diffstat (limited to 'drivers/base/regmap')
-rw-r--r-- | drivers/base/regmap/regmap.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index e9eda8c3e017..7f0930d0fa5c 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -229,12 +229,14 @@ struct regmap *regmap_init(struct device *dev, ret = regcache_init(map); if (ret < 0) - goto err_map; + goto err_free_workbuf; regmap_debugfs_init(map); return map; +err_free_workbuf: + kfree(map->work_buf); err_map: kfree(map); err: |