diff options
author | Markus Elfring <elfring@users.sourceforge.net> | 2016-06-26 12:25:36 +0200 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2016-06-29 10:16:11 +0100 |
commit | a67911d38f2deda8a48cb0e8a4b3f59afeda7b81 (patch) | |
tree | 2f5cba062656c47a5b17e12cd3eec77c53bd4d35 /drivers/mfd/twl-core.c | |
parent | d347792c315171fd89dda9d6cbebea756c29b3ea (diff) | |
download | op-kernel-dev-a67911d38f2deda8a48cb0e8a4b3f59afeda7b81.zip op-kernel-dev-a67911d38f2deda8a48cb0e8a4b3f59afeda7b81.tar.gz |
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/twl-core.c')
-rw-r--r-- | drivers/mfd/twl-core.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c index 831696e..9458c6d 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; |