summaryrefslogtreecommitdiff
path: root/drivers/perf
diff options
context:
space:
mode:
authorluanshi <zhangliguang@linux.alibaba.com>2020-02-26 08:45:10 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-03-25 10:25:47 +0300
commit2c4e36033acee8304c2f24d9dd5092acfa1c18cb (patch)
treea4f0dc60f67e0ee7875eccc8cea21d1cf8fd410e /drivers/perf
parent1002a094e066f4e87d78022227b387138bfb0f0f (diff)
downloadlinux-2c4e36033acee8304c2f24d9dd5092acfa1c18cb.tar.xz
drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer
[ Upstream commit 3ba52ad55b533760a1f65836aa0ec9d35e36bb4f ] Fix bogus NULL checks on the return value of acpi_cpu_get_madt_gicc() by checking for a 0 'gicc->performance_interrupt' value instead. Signed-off-by: Liguang Zhang <zhangliguang@linux.alibaba.com> Signed-off-by: Will Deacon <will@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/perf')
-rw-r--r--drivers/perf/arm_pmu_acpi.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/perf/arm_pmu_acpi.c b/drivers/perf/arm_pmu_acpi.c
index acce8781c456..f5c7a845cd7b 100644
--- a/drivers/perf/arm_pmu_acpi.c
+++ b/drivers/perf/arm_pmu_acpi.c
@@ -24,8 +24,6 @@ static int arm_pmu_acpi_register_irq(int cpu)
int gsi, trigger;
gicc = acpi_cpu_get_madt_gicc(cpu);
- if (WARN_ON(!gicc))
- return -EINVAL;
gsi = gicc->performance_interrupt;
@@ -64,11 +62,10 @@ static void arm_pmu_acpi_unregister_irq(int cpu)
int gsi;
gicc = acpi_cpu_get_madt_gicc(cpu);
- if (!gicc)
- return;
gsi = gicc->performance_interrupt;
- acpi_unregister_gsi(gsi);
+ if (gsi)
+ acpi_unregister_gsi(gsi);
}
#if IS_ENABLED(CONFIG_ARM_SPE_PMU)