mfd: Fix da903x_add_subdevs error path
This patch fixes da903x_add_subdevs error path: 1. return -ENOMEM if platform_device_alloc() fail. 2. call platform_device_put() if platform_device_add() fail. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Eric Miao <eric.y.miao@gmail.com> Acked-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
2c36af7b57
commit
b59cedeffa
@ -470,13 +470,19 @@ static int __devinit da903x_add_subdevs(struct da903x_chip *chip,
|
||||
subdev = &pdata->subdevs[i];
|
||||
|
||||
pdev = platform_device_alloc(subdev->name, subdev->id);
|
||||
if (!pdev) {
|
||||
ret = -ENOMEM;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
pdev->dev.parent = chip->dev;
|
||||
pdev->dev.platform_data = subdev->platform_data;
|
||||
|
||||
ret = platform_device_add(pdev);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
platform_device_put(pdev);
|
||||
goto failed;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user