Skip to content

Commit 1bc2463

Browse files
Agustin Vega-FriasKAGA-KOKO
authored andcommitted
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: f20cc9b ("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]
1 parent 6da6c0d commit 1bc2463

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/irqchip/qcom-irq-combiner.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
1+
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
22
*
33
* This program is free software; you can redistribute it and/or modify
44
* 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)
6868

6969
bit = readl_relaxed(combiner->regs[reg].addr);
7070
status = bit & combiner->regs[reg].enabled;
71-
if (!status)
71+
if (bit && !status)
7272
pr_warn_ratelimited("Unexpected IRQ on CPU%d: (%08x %08lx %p)\n",
7373
smp_processor_id(), bit,
7474
combiner->regs[reg].enabled,

0 commit comments

Comments
 (0)