Commit 3ace2003 authored by Dhananjay Ugwekar's avatar Dhananjay Ugwekar Committed by Mario Limonciello
Browse files

cpufreq/amd-pstate: Fix cpufreq_policy ref counting



amd_pstate_update_limits() takes a cpufreq_policy reference but doesn't
decrement the refcount in one of the exit paths, fix that.

Fixes: 45722e77 ("cpufreq: amd-pstate: Optimize amd_pstate_update_limits()")
Signed-off-by: default avatarDhananjay Ugwekar <dhananjay.ugwekar@amd.com>
Reviewed-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20250205112523.201101-10-dhananjay.ugwekar@amd.com


Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
parent 55db9b73
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -821,20 +821,21 @@ static void amd_pstate_init_prefcore(struct amd_cpudata *cpudata)

static void amd_pstate_update_limits(unsigned int cpu)
{
	struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
	struct cpufreq_policy *policy = NULL;
	struct amd_cpudata *cpudata;
	u32 prev_high = 0, cur_high = 0;
	int ret;
	bool highest_perf_changed = false;

	if (!amd_pstate_prefcore)
		return;

	policy = cpufreq_cpu_get(cpu);
	if (!policy)
		return;

	cpudata = policy->driver_data;

	if (!amd_pstate_prefcore)
		return;

	guard(mutex)(&amd_pstate_driver_lock);

	ret = amd_get_highest_perf(cpu, &cur_high);