summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeung-Woo Kim <sw0312.kim@samsung.com>2014-12-04 19:17:17 +0900
committerBen Hutchings <ben@decadent.org.uk>2017-07-02 17:13:02 +0100
commit702f4dd27ccf3bae7915ef1f8790db3af435d211 (patch)
tree55c645e55c00082ea583fbff95c2e2ebddad9ce3
parent7d8fa496d78188d6b0edaabe3f5014e41bd638a7 (diff)
regulator: core: Fix regualtor_ena_gpio_free not to access pin after freeing
commit 60a2362f769cf549dc466134efe71c8bf9fbaaba upstream. After freeing pin from regulator_ena_gpio_free, loop can access the pin. So this patch fixes not to access pin after freeing. Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--drivers/regulator/core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index a2e836478549..71fb2037e0b9 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1709,6 +1709,8 @@ static void regulator_ena_gpio_free(struct regulator_dev *rdev)
gpio_free(pin->gpio);
list_del(&pin->list);
kfree(pin);
+ rdev->ena_pin = NULL;
+ return;
} else {
pin->request_count--;
}