lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 563/757] Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
    Date
    From: Dan Carpenter <dan.carpenter@oracle.com>

    [ Upstream commit 30df23c5ecdfb8da5b0bc17ceef67eff9e1b0957 ]

    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 <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>
    ---
    drivers/input/touchscreen/imx6ul_tsc.c | 27 +++++++++++++++-----------
    1 file changed, 16 insertions(+), 11 deletions(-)

    diff --git a/drivers/input/touchscreen/imx6ul_tsc.c b/drivers/input/touchscreen/imx6ul_tsc.c
    index 9ed258854349b..5e6ba5c4eca2a 100644
    --- a/drivers/input/touchscreen/imx6ul_tsc.c
    +++ b/drivers/input/touchscreen/imx6ul_tsc.c
    @@ -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;
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 17:39    [W:4.019 / U:0.152 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site