|
@@ -2302,8 +2302,10 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,
|
|
dev_set_name(&rdev->dev, "regulator.%d",
|
|
dev_set_name(&rdev->dev, "regulator.%d",
|
|
atomic_inc_return(®ulator_no) - 1);
|
|
atomic_inc_return(®ulator_no) - 1);
|
|
ret = device_register(&rdev->dev);
|
|
ret = device_register(&rdev->dev);
|
|
- if (ret != 0)
|
|
|
|
|
|
+ if (ret != 0) {
|
|
|
|
+ put_device(&rdev->dev);
|
|
goto clean;
|
|
goto clean;
|
|
|
|
+ }
|
|
|
|
|
|
dev_set_drvdata(&rdev->dev, rdev);
|
|
dev_set_drvdata(&rdev->dev, rdev);
|
|
|
|
|