aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Elfring <elfring@users.sourceforge.net>2016-06-26 06:25:36 -0400
committerLee Jones <lee.jones@linaro.org>2016-06-29 05:16:11 -0400
commita67911d38f2deda8a48cb0e8a4b3f59afeda7b81 (patch)
tree2f5cba062656c47a5b17e12cd3eec77c53bd4d35
parentd347792c315171fd89dda9d6cbebea756c29b3ea (diff)
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>
-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,
622 twl = &twl_priv->twl_modules[sid]; 622 twl = &twl_priv->twl_modules[sid];
623 623
624 pdev = platform_device_alloc(name, num); 624 pdev = platform_device_alloc(name, num);
625 if (!pdev) { 625 if (!pdev)
626 dev_dbg(&twl->client->dev, "can't alloc dev\n"); 626 return ERR_PTR(-ENOMEM);
627 status = -ENOMEM;
628 goto err;
629 }
630 627
631 pdev->dev.parent = &twl->client->dev; 628 pdev->dev.parent = &twl->client->dev;
632 629