cpufreq: armada-37xx: Fix driver cleanup when registration failed
authorPali Rohár <pali@kernel.org>
Thu, 8 Apr 2021 11:42:20 +0000 (13:42 +0200)
committerViresh Kumar <viresh.kumar@linaro.org>
Fri, 9 Apr 2021 09:47:33 +0000 (15:17 +0530)
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>
drivers/cpufreq/armada-37xx-cpufreq.c

index c7683d4..1ab2113 100644 (file)
@@ -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);
        }