devres_destroy() doesn't call the release() method, it only destroys the resource. The caller should take care to release the associated object itself. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> --- drivers/regulator/core.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index e70dd38..fdeabba 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -1429,6 +1429,7 @@ void devm_regulator_put(struct regulator *regulator) { int rc; + regulator_put(regulator); rc = devres_destroy(regulator->dev, devm_regulator_release, devm_regulator_match, regulator); WARN_ON(rc); -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html