Skip to content

Commit

Permalink
Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
Browse files Browse the repository at this point in the history
[ Upstream commit 30df23c ]

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: 6cc527b ("Input: imx6ul_tsc - propagate the errors")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20200905124942.GC183976@mwanda
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
Dan Carpenter authored and gregkh committed Oct 29, 2020
1 parent 4bb7b5e commit 11f2a1d
Showing 1 changed file with 16 additions and 11 deletions.
27 changes: 16 additions & 11 deletions drivers/input/touchscreen/imx6ul_tsc.c
Expand Up @@ -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;
Expand Down

0 comments on commit 11f2a1d

Please sign in to comment.