···37403740 if (rdev == NULL)37413741 return;3742374237433743- if (rdev->supply)37433743+ if (rdev->supply) {37443744+ while (rdev->use_count--)37453745+ regulator_disable(rdev->supply);37443746 regulator_put(rdev->supply);37473747+ }37453748 mutex_lock(®ulator_list_mutex);37463749 debugfs_remove_recursive(rdev->debugfs);37473750 flush_work(&rdev->disable_work.work);