Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[pandora-kernel.git] / drivers / mfd / da903x.c
index c07aece..2fadbae 100644 (file)
@@ -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;