lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 235/530] cpufreq: armada-37xx: Fix driver cleanup when registration failed
    Date
    From: Pali Rohár <pali@kernel.org>

    [ Upstream commit 92963903a8e11b9576eb7249f8e81eefa93b6f96 ]

    Commit 8db82563451f ("cpufreq: armada-37xx: fix frequency calculation for
    opp") changed calculation of frequency passed to the dev_pm_opp_add()
    function call. But the code for dev_pm_opp_remove() function call was not
    updated, so the driver cleanup phase does not work when registration fails.

    This fixes the issue by using the same frequency in both calls.

    Signed-off-by: Pali Rohár <pali@kernel.org>
    Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
    Tested-by: Anders Trier Olesen <anders.trier.olesen@gmail.com>
    Tested-by: Philip Soares <philips@netisense.com>
    Fixes: 8db82563451f ("cpufreq: armada-37xx: fix frequency calculation for opp")
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/cpufreq/armada-37xx-cpufreq.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/cpufreq/armada-37xx-cpufreq.c b/drivers/cpufreq/armada-37xx-cpufreq.c
    index c7683d447b11..1ab2113daef5 100644
    --- a/drivers/cpufreq/armada-37xx-cpufreq.c
    +++ b/drivers/cpufreq/armada-37xx-cpufreq.c
    @@ -521,7 +521,7 @@ disable_dvfs:
    remove_opp:
    /* clean-up the already added opp before leaving */
    while (load_lvl-- > ARMADA_37XX_DVFS_LOAD_0) {
    - freq = cur_frequency / dvfs->divider[load_lvl];
    + freq = base_frequency / dvfs->divider[load_lvl];
    dev_pm_opp_remove(cpu_dev, freq);
    }

    --
    2.30.2


    \
     
     \ /
      Last update: 2021-05-12 18:02    [W:3.185 / U:0.656 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site