浏览代码

mfd: dm355evm_msp: Return directly after a failed platform_device_alloc() in add_child()

The platform_device_put() function was called in one case by the
add_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>
Markus Elfring 9 年之前
父节点
当前提交
d313cdde71
共有 1 个文件被更改,包括 2 次插入5 次删除
  1. 2 5
      drivers/mfd/dm355evm_msp.c

+ 2 - 5
drivers/mfd/dm355evm_msp.c

@@ -199,11 +199,8 @@ static struct device *add_child(struct i2c_client *client, const char *name,
 	int			status;
 
 	pdev = platform_device_alloc(name, -1);
-	if (!pdev) {
-		dev_dbg(&client->dev, "can't alloc dev\n");
-		status = -ENOMEM;
-		goto err;
-	}
+	if (!pdev)
+		return ERR_PTR(-ENOMEM);
 
 	device_init_wakeup(&pdev->dev, can_wakeup);
 	pdev->dev.parent = &client->dev;