diff --git a/[refs] b/[refs] index 64a602a3ced4..16089753d53f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 15c08f664d8ca4f4d0e202cbd4034422a706ef80 +refs/heads/master: e032b376551a61662b20a2c8544fbbc568ab2e7f diff --git a/trunk/drivers/regulator/core.c b/trunk/drivers/regulator/core.c index e2f3afa71efb..4a5054ef9421 100644 --- a/trunk/drivers/regulator/core.c +++ b/trunk/drivers/regulator/core.c @@ -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);