projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
[cascardo/linux.git]
/
drivers
/
misc
/
vexpress-syscfg.c
diff --git
a/drivers/misc/vexpress-syscfg.c
b/drivers/misc/vexpress-syscfg.c
index
73068e5
..
3250fc1
100644
(file)
--- a/
drivers/misc/vexpress-syscfg.c
+++ b/
drivers/misc/vexpress-syscfg.c
@@
-199,7
+199,7
@@
static struct regmap *vexpress_syscfg_regmap_init(struct device *dev,
func = kzalloc(sizeof(*func) + sizeof(*func->template) * num,
GFP_KERNEL);
if (!func)
func = kzalloc(sizeof(*func) + sizeof(*func->template) * num,
GFP_KERNEL);
if (!func)
- return
NULL
;
+ return
ERR_PTR(-ENOMEM)
;
func->syscfg = syscfg;
func->num_templates = num;
func->syscfg = syscfg;
func->num_templates = num;
@@
-231,10
+231,14
@@
static struct regmap *vexpress_syscfg_regmap_init(struct device *dev,
func->regmap = regmap_init(dev, NULL, func,
&vexpress_syscfg_regmap_config);
func->regmap = regmap_init(dev, NULL, func,
&vexpress_syscfg_regmap_config);
- if (IS_ERR(func->regmap))
+ if (IS_ERR(func->regmap)) {
+ void *err = func->regmap;
+
kfree(func);
kfree(func);
- else
- list_add(&func->list, &syscfg->funcs);
+ return err;
+ }
+
+ list_add(&func->list, &syscfg->funcs);
return func->regmap;
}
return func->regmap;
}