diff options
author | Markus Elfring <elfring@users.sourceforge.net> | 2016-06-26 13:25:36 +0300 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2016-06-29 12:16:11 +0300 |
commit | a67911d38f2deda8a48cb0e8a4b3f59afeda7b81 (patch) | |
tree | 2f5cba062656c47a5b17e12cd3eec77c53bd4d35 /drivers/mfd | |
parent | d347792c315171fd89dda9d6cbebea756c29b3ea (diff) | |
download | linux-a67911d38f2deda8a48cb0e8a4b3f59afeda7b81.tar.xz |
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.c | 7 |
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; |