aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAgustin Vega-Frias <[email protected]>2018-05-01 10:14:50 -0400
committerThomas Gleixner <[email protected]>2018-05-02 15:56:10 +0200
commit1bc2463cee92ef0e2034c813d5e511adeb58b5fd (patch)
treef44d1bae03db75cbeb809f486c8b8407bb5d9606
parent6da6c0db5316275015e8cc2959f12a17584aeb64 (diff)
irqchip/qcom: Fix check for spurious interrupts
When the interrupts for a combiner span multiple registers it must be checked if any interrupts have been asserted on each register before checking for spurious interrupts. Checking each register seperately leads to false positive warnings. [ tglx: Massaged changelog ] Fixes: f20cc9b00c7b ("irqchip/qcom: Add IRQ combiner driver") Signed-off-by: Agustin Vega-Frias <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: Jason Cooper <[email protected]> Cc: Marc Zyngier <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected]
-rw-r--r--drivers/irqchip/qcom-irq-combiner.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/irqchip/qcom-irq-combiner.c b/drivers/irqchip/qcom-irq-combiner.c
index f31265937439..7f0c0be322e0 100644
--- a/drivers/irqchip/qcom-irq-combiner.c
+++ b/drivers/irqchip/qcom-irq-combiner.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -68,7 +68,7 @@ static void combiner_handle_irq(struct irq_desc *desc)
bit = readl_relaxed(combiner->regs[reg].addr);
status = bit & combiner->regs[reg].enabled;
- if (!status)
+ if (bit && !status)
pr_warn_ratelimited("Unexpected IRQ on CPU%d: (%08x %08lx %p)\n",
smp_processor_id(), bit,
combiner->regs[reg].enabled,