Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
Subsystems (4)
PATCH 1/1 Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
If imx6ul_tsc_init() fails then we need to clean up the clocks.
I reversed the "if (input_dev->users) {" condition to make the code a bit simpler.
Fixes 6cc527b05847 ("Input: imx6ul_tsc - propagate the errors")
Signed-off-by Dan Carpenter <[email protected]>
--- drivers/input/touchscreen/imx6ul_tsc.c | 27 +++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-)
drivers/input/touchscreen/imx6ul_tsc.c +16 -11
@@ -530,20 +530,25 @@ static int __maybe_unused imx6ul_tsc_resume(struct device *dev)mutex_lock (&input_dev->mutex); -if (input_dev->users) { - retval =clk_prepare_enable (tsc->adc_clk); -if (retval) - goto out; - - retval =clk_prepare_enable (tsc->tsc_clk); -if (retval) { -clk_disable_unprepare (tsc->adc_clk); - goto out; - } +if (!input_dev->users) + goto out; - retval =imx6ul_tsc_init (tsc); + retval =clk_prepare_enable (tsc->adc_clk); +if (retval) + goto out; + + retval =clk_prepare_enable (tsc->tsc_clk); +if (retval) { +clk_disable_unprepare (tsc->adc_clk); + goto out; } + retval =imx6ul_tsc_init (tsc); +if (retval) { +clk_disable_unprepare (tsc->tsc_clk); +clk_disable_unprepare (tsc->adc_clk); + goto out; + } out:mutex_unlock (&input_dev->mutex);return retval;
Signature · 1 line
2.28.0
Quoted 7 lines · Dan Carpenter
If
imx6ul_tsc_init()fails then we need to clean up the clocks.I reversed the "if (
input_dev->users) {" condition to make the code a bit simpler.Fixes 6cc527b05847 ("Input: imx6ul_tsc - propagate the errors")Signed-off-by Dan Carpenter <[email protected]>
Applied, thank you.
There is also an opportunity to factor out some common code from open/close and suspend/resume, I'll send out a patch in a moment.
Thanks.
Signature · 1 line
Dmitry