mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
irqchip/qcom: Fix check for spurious interrupts
commit 1bc2463cee92ef0e2034c813d5e511adeb58b5fd upstream. 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 <agustinv@codeaurora.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Marc Zyngier <marc.zyngier@arm.com> Cc: timur@codeaurora.org Cc: linux-arm-kernel@lists.infradead.org Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/1525184090-26143-1-git-send-email-agustinv@codeaurora.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
bd2088d1d7
commit
d86aaca9ce
@ -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
|
* 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
|
* 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);
|
bit = readl_relaxed(combiner->regs[reg].addr);
|
||||||
status = bit & combiner->regs[reg].enabled;
|
status = bit & combiner->regs[reg].enabled;
|
||||||
if (!status)
|
if (bit && !status)
|
||||||
pr_warn_ratelimited("Unexpected IRQ on CPU%d: (%08x %08lx %p)\n",
|
pr_warn_ratelimited("Unexpected IRQ on CPU%d: (%08x %08lx %p)\n",
|
||||||
smp_processor_id(), bit,
|
smp_processor_id(), bit,
|
||||||
combiner->regs[reg].enabled,
|
combiner->regs[reg].enabled,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user