summaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorMarkus Elfring <elfring@users.sourceforge.net>2016-06-26 12:25:36 +0200
committerLee Jones <lee.jones@linaro.org>2016-06-29 10:16:11 +0100
commita67911d38f2deda8a48cb0e8a4b3f59afeda7b81 (patch)
tree2f5cba062656c47a5b17e12cd3eec77c53bd4d35 /drivers/mfd
parentd347792c315171fd89dda9d6cbebea756c29b3ea (diff)
downloadlinux-a67911d38f2deda8a48cb0e8a4b3f59afeda7b81.tar.bz2
mfd: twl-core: Return directly after a failed platform_device_alloc() in add_numbered_child()
The platform_device_put() function was called in one case by the add_numbered_child() function during error handling even if the passed variable "pdev" contained a null pointer. Return directly in this case. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/twl-core.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
index 831696ee2472..9458c6df39ed 100644
--- a/drivers/mfd/twl-core.c
+++ b/drivers/mfd/twl-core.c
@@ -622,11 +622,8 @@ add_numbered_child(unsigned mod_no, const char *name, int num,
twl = &twl_priv->twl_modules[sid];
pdev = platform_device_alloc(name, num);
- if (!pdev) {
- dev_dbg(&twl->client->dev, "can't alloc dev\n");
- status = -ENOMEM;
- goto err;
- }
+ if (!pdev)
+ return ERR_PTR(-ENOMEM);
pdev->dev.parent = &twl->client->dev;