summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2011-11-14 10:40:15 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-11-14 22:44:45 +0100
commitabbb18fb4ad7472ee2e1351f0ca12bce64cac143 (patch)
tree6d978b25cf53daefb0003cd54d4f98bbc3e0c292 /drivers/base
parentregmap: Fix memory leak in regmap_init error path (diff)
downloadlinux-abbb18fb4ad7472ee2e1351f0ca12bce64cac143.tar.xz
linux-abbb18fb4ad7472ee2e1351f0ca12bce64cac143.zip
regmap: return ERR_PTR instead of NULL in regmap_init
The regmap_init documentation states that it will either return a pointer to a valid regmap structure or a ERR_PTR in case of an error. Currently it returns a NULL pointer in case no bus or no config was given. Since NULL is not a ERR_PTR a caller might assume that it is a pointer to a valid regmap structure, so return a ERR_PTR(-EINVAL) instead. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/regmap/regmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index b08df85cedff..b84ebf9eecf0 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -139,7 +139,7 @@ struct regmap *regmap_init(struct device *dev,
int ret = -EINVAL;
if (!bus || !config)
- return NULL;
+ goto err;
map = kzalloc(sizeof(*map), GFP_KERNEL);
if (map == NULL) {