Skip to content

Commit

Permalink
regulator: fix device_register() error handling
Browse files Browse the repository at this point in the history
If device_register() fails then call put_device().
See comment to device_register.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
  • Loading branch information
Vasiliy Kulikov authored and Liam Girdwood committed Oct 2, 2010
1 parent c6ea21e commit ad7725c
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/regulator/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -2302,8 +2302,10 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,
dev_set_name(&rdev->dev, "regulator.%d",
atomic_inc_return(&regulator_no) - 1);
ret = device_register(&rdev->dev);
if (ret != 0)
if (ret != 0) {
put_device(&rdev->dev);
goto clean;
}

dev_set_drvdata(&rdev->dev, rdev);

Expand Down

0 comments on commit ad7725c

Please sign in to comment.