arm64: perf: fix unassigned cpu_pmu->plat_device when probing PMU PPIs
Commit d795ef9aa8
("arm64: perf: don't warn about missing
interrupt-affinity property for PPIs") added a check for PPIs so that
we avoid parsing the interrupt-affinity property for these naturally
affine interrupts.
Unfortunately, this check can trigger an early (successful) return and
we will not assign the value of cpu_pmu->plat_device. This patch fixes
the issue.
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
18a11b5e79
commit
b265da5a45
1 changed files with 2 additions and 1 deletions
|
@ -1318,7 +1318,7 @@ static int armpmu_device_probe(struct platform_device *pdev)
|
||||||
/* Don't bother with PPIs; they're already affine */
|
/* Don't bother with PPIs; they're already affine */
|
||||||
irq = platform_get_irq(pdev, 0);
|
irq = platform_get_irq(pdev, 0);
|
||||||
if (irq >= 0 && irq_is_percpu(irq))
|
if (irq >= 0 && irq_is_percpu(irq))
|
||||||
return 0;
|
goto out;
|
||||||
|
|
||||||
irqs = kcalloc(pdev->num_resources, sizeof(*irqs), GFP_KERNEL);
|
irqs = kcalloc(pdev->num_resources, sizeof(*irqs), GFP_KERNEL);
|
||||||
if (!irqs)
|
if (!irqs)
|
||||||
|
@ -1356,6 +1356,7 @@ static int armpmu_device_probe(struct platform_device *pdev)
|
||||||
else
|
else
|
||||||
kfree(irqs);
|
kfree(irqs);
|
||||||
|
|
||||||
|
out:
|
||||||
cpu_pmu->plat_device = pdev;
|
cpu_pmu->plat_device = pdev;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue