Commit d6441dc5 authored by Javier Martinez Canillas's avatar Javier Martinez Canillas Committed by Lee Jones

mfd: twl6040: Disable and unprepare clk32k in twl6040_power() error path

The clk32k clock is prepared and enabled in twl6040_power() but the clock
is left enabled in case of an error while it should be disable/unprepared.
Signed-off-by: default avatarJavier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 32852bca
...@@ -304,6 +304,7 @@ int twl6040_power(struct twl6040 *twl6040, int on) ...@@ -304,6 +304,7 @@ int twl6040_power(struct twl6040 *twl6040, int on)
/* use automatic power-up sequence */ /* use automatic power-up sequence */
ret = twl6040_power_up_automatic(twl6040); ret = twl6040_power_up_automatic(twl6040);
if (ret) { if (ret) {
clk_disable_unprepare(twl6040->clk32k);
twl6040->power_count = 0; twl6040->power_count = 0;
goto out; goto out;
} }
...@@ -311,6 +312,7 @@ int twl6040_power(struct twl6040 *twl6040, int on) ...@@ -311,6 +312,7 @@ int twl6040_power(struct twl6040 *twl6040, int on)
/* use manual power-up sequence */ /* use manual power-up sequence */
ret = twl6040_power_up_manual(twl6040); ret = twl6040_power_up_manual(twl6040);
if (ret) { if (ret) {
clk_disable_unprepare(twl6040->clk32k);
twl6040->power_count = 0; twl6040->power_count = 0;
goto out; goto out;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment