提交 ad7725cb 编写于 作者: V Vasiliy Kulikov 提交者: Liam Girdwood

regulator: fix device_register() error handling

If device_register() fails then call put_device().
See comment to device_register.
Signed-off-by: NVasiliy Kulikov <segooon@gmail.com>
Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
上级 c6ea21e3
...@@ -2302,8 +2302,10 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, ...@@ -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(&regulator_no) - 1); atomic_inc_return(&regulator_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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册