|
@@ -2992,14 +2992,14 @@ void regulator_unregister(struct regulator_dev *rdev)
|
|
|
if (rdev == NULL)
|
|
|
return;
|
|
|
|
|
|
+ if (rdev->supply)
|
|
|
+ regulator_put(rdev->supply);
|
|
|
mutex_lock(®ulator_list_mutex);
|
|
|
debugfs_remove_recursive(rdev->debugfs);
|
|
|
flush_work_sync(&rdev->disable_work.work);
|
|
|
WARN_ON(rdev->open_count);
|
|
|
unset_regulator_supplies(rdev);
|
|
|
list_del(&rdev->list);
|
|
|
- if (rdev->supply)
|
|
|
- regulator_put(rdev->supply);
|
|
|
kfree(rdev->constraints);
|
|
|
device_unregister(&rdev->dev);
|
|
|
mutex_unlock(®ulator_list_mutex);
|