Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb659882 authored by Will Deacon's avatar Will Deacon Committed by Arnd Bergmann
Browse files

drivers/perf: arm_pmu: avoid CPU device_node reference leak



of_cpu_device_node_get increments the reference count on the CPU
device_node, so we must take care to of_node_put once we've finished
with it.

This patch fixes the perf IRQ probing code to avoid the leak.

Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent a0bcbe96
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -823,9 +823,15 @@ static int of_pmu_irq_cfg(struct arm_pmu *pmu)
		}

		/* Now look up the logical CPU number */
		for_each_possible_cpu(cpu)
			if (dn == of_cpu_device_node_get(cpu))
		for_each_possible_cpu(cpu) {
			struct device_node *cpu_dn;

			cpu_dn = of_cpu_device_node_get(cpu);
			of_node_put(cpu_dn);

			if (dn == cpu_dn)
				break;
		}

		if (cpu >= nr_cpu_ids) {
			pr_warn("Failed to find logical CPU for %s\n",