cpufreq: tegra194: fix warning due to missing opp_put
authorSumit Gupta <sumitg@nvidia.com>
Tue, 29 Aug 2023 08:43:22 +0000 (14:13 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Wed, 27 Sep 2023 06:56:01 +0000 (12:26 +0530)
Fix the warning due to missing dev_pm_opp_put() call and hence
wrong refcount value. This causes below warning message when
trying to remove the module.

 Call trace:
  dev_pm_opp_put_opp_table+0x154/0x15c
  dev_pm_opp_remove_table+0x34/0xa0
  _dev_pm_opp_cpumask_remove_table+0x7c/0xbc
  dev_pm_opp_of_cpumask_remove_table+0x10/0x18
  tegra194_cpufreq_exit+0x24/0x34 [tegra194_cpufreq]
  cpufreq_remove_dev+0xa8/0xf8
  subsys_interface_unregister+0x90/0xe8
  cpufreq_unregister_driver+0x54/0x9c
  tegra194_cpufreq_remove+0x18/0x2c [tegra194_cpufreq]
  platform_remove+0x24/0x74
  device_remove+0x48/0x78
  device_release_driver_internal+0xc8/0x160
  driver_detach+0x4c/0x90
  bus_remove_driver+0x68/0xb8
  driver_unregister+0x2c/0x58
  platform_driver_unregister+0x10/0x18
  tegra194_ccplex_driver_exit+0x14/0x1e0 [tegra194_cpufreq]
  __arm64_sys_delete_module+0x184/0x270

Fixes: f41e1442ac5b ("cpufreq: tegra194: add OPP support and set bandwidth")
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
[ Viresh: Add a blank line ]
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/cpufreq/tegra194-cpufreq.c

index 88ef5e57ccd05c9395715729b07f002b7ea45f08..386aed3637b4ef536cdc3fb95d702a29bed3dd56 100644 (file)
@@ -450,6 +450,8 @@ static int tegra_cpufreq_init_cpufreq_table(struct cpufreq_policy *policy,
                if (IS_ERR(opp))
                        continue;
 
+               dev_pm_opp_put(opp);
+
                ret = dev_pm_opp_enable(cpu_dev, pos->frequency * KHZ);
                if (ret < 0)
                        return ret;