lkml.org 
[lkml]   [2020]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 052/232] cpufreq: imx6q: fix error handling
    Date
    From: Peng Fan <peng.fan@nxp.com>

    [ Upstream commit 3646f50a3838c5949a89ecbdb868497cdc05b8fd ]

    When speed checking failed, direclty jumping to put_node label
    is not correct. Need jump to out_free_opp to avoid resources leak.

    Fixes: 2733fb0d0699 ("cpufreq: imx6q: read OCOTP through nvmem for imx6ul/imx6ull")
    Signed-off-by: Peng Fan <peng.fan@nxp.com>
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/cpufreq/imx6q-cpufreq.c | 9 +++++----
    1 file changed, 5 insertions(+), 4 deletions(-)

    diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c
    index 1fcbbd53a48a2..edef3399c9794 100644
    --- a/drivers/cpufreq/imx6q-cpufreq.c
    +++ b/drivers/cpufreq/imx6q-cpufreq.c
    @@ -381,23 +381,24 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev)
    goto put_reg;
    }

    + /* Because we have added the OPPs here, we must free them */
    + free_opp = true;
    +
    if (of_machine_is_compatible("fsl,imx6ul") ||
    of_machine_is_compatible("fsl,imx6ull")) {
    ret = imx6ul_opp_check_speed_grading(cpu_dev);
    if (ret) {
    if (ret == -EPROBE_DEFER)
    - goto put_node;
    + goto out_free_opp;

    dev_err(cpu_dev, "failed to read ocotp: %d\n",
    ret);
    - goto put_node;
    + goto out_free_opp;
    }
    } else {
    imx6q_opp_check_speed_grading(cpu_dev);
    }

    - /* Because we have added the OPPs here, we must free them */
    - free_opp = true;
    num = dev_pm_opp_get_opp_count(cpu_dev);
    if (num < 0) {
    ret = num;
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-04-16 17:22    [W:4.028 / U:0.252 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site