irqchip/qcom: Fix check for spurious interrupts
Subsystems (2)
PATCH 1/1 irqchip/qcom: Fix check for spurious interrupts
When the interrupts for a combiner span multiple registers we need to check if any interrupts have been asserted on each register before checking for spurious interrupts.
Signed-off-by Agustin Vega-Frias <[email protected]>
--- drivers/irqchip/qcom-irq-combiner.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/irqchip/qcom-irq-combiner.c +2 -2
@@ -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,
Signature · 2 lines
Qualcomm Datacenter Technologies, Inc. on behalf of the Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
tip-bot for Agustin Vega-Frias
merge botirqchip/qcom: Fix check for spurious interrupts
Commit-ID: 1bc2463cee92ef0e2034c813d5e511adeb58b5fd Gitweb: https://git.kernel.org/tip/1bc2463cee92ef0e2034c813d5e511adeb58b5fd Author: Agustin Vega-Frias <[email protected]> AuthorDate: Tue, 1 May 2018 10:14:50 -0400 Committer: Thomas Gleixner <[email protected]> CommitDate: Wed, 2 May 2018 15:56:10 +0200
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]>
--- drivers/irqchip/qcom-irq-combiner.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/irqchip/qcom-irq-combiner.c +2 -2
@@ -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,