From: Pierre Gondois <Pierre.Gondois@arm.com>
Date: Tue, 26 Apr 2022 14:44:48 +0000 (+0200)
Subject: PM: EM: Decrement policy counter
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c9d8923bfbcb63f15ea6cb2b5c8426fc3d96f643;p=linux.git

PM: EM: Decrement policy counter

In commit e458716a92b57 ("PM: EM: Mark inefficiencies in CPUFreq"),
cpufreq_cpu_get() is called without a cpufreq_cpu_put(), permanently
increasing the reference counts of the policy struct.

Decrement the reference count once the policy struct is not used
anymore.

Fixes: e458716a92b57 ("PM: EM: Mark inefficiencies in CPUFreq")
Tested-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Vincent Donnefort <vincent.donnefort@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c
index 092513575e4ea..6c373f2960e71 100644
--- a/kernel/power/energy_model.c
+++ b/kernel/power/energy_model.c
@@ -259,6 +259,8 @@ static void em_cpufreq_update_efficiencies(struct device *dev)
 			found++;
 	}
 
+	cpufreq_cpu_put(policy);
+
 	if (!found)
 		return;