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 <[email protected]>
Acked-by: Mark Brown <[email protected]>
Signed-off-by: Liam Girdwood <[email protected]>
  • Loading branch information
segoon 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.