[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dddc01e3-b4f0-1f94-db6a-e3d4b31e6f4d@sigmadesigns.com>
Date: Tue, 25 Jul 2017 15:08:49 +0200
From: Marc Gonzalez <marc_gonzalez@...madesigns.com>
To: Thomas Gleixner <tglx@...utronix.de>,
Marc Zyngier <marc.zyngier@....com>,
Jason Cooper <jason@...edaemon.net>
CC: Doug Berger <opendmb@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Mans Rullgard <mans@...sr.com>,
LKML <linux-kernel@...r.kernel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
Mason <slash.tmp@...e.fr>
Subject: [PATCH v3] irqchip/tango: Don't use incorrect irq_mask_ack callback
irq_gc_mask_disable_reg_and_ack() is not equivalent to
irq_gc_mask_disable_reg() and irq_gc_ack_set_bit().
Leave the irq_mask_ack callback undefined, and let the irqchip
framework use irq_mask and irq_ack instead.
Reported-by: Doug Berger <opendmb@...il.com>
Fixes: 4bba66899ac6 ("irqchip/tango: Add support for Sigma Designs SMP86xx/SMP87xx interrupt controller")
Signed-off-by: Marc Gonzalez <marc_gonzalez@...madesigns.com>
Cc: stable@...r.kernel.org
---
As discussed previously, it is acceptable for tango to rely
on mask_ack_irq() doing the right thing(TM).
---
drivers/irqchip/irq-tango.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/irqchip/irq-tango.c b/drivers/irqchip/irq-tango.c
index bdbb5c0ff7fe..825085cdab99 100644
--- a/drivers/irqchip/irq-tango.c
+++ b/drivers/irqchip/irq-tango.c
@@ -141,7 +141,6 @@ static void __init tangox_irq_init_chip(struct irq_chip_generic *gc,
for (i = 0; i < 2; i++) {
ct[i].chip.irq_ack = irq_gc_ack_set_bit;
ct[i].chip.irq_mask = irq_gc_mask_disable_reg;
- ct[i].chip.irq_mask_ack = irq_gc_mask_disable_reg_and_ack;
ct[i].chip.irq_unmask = irq_gc_unmask_enable_reg;
ct[i].chip.irq_set_type = tangox_irq_set_type;
ct[i].chip.name = gc->domain->name;
--
2.11.0
Powered by blists - more mailing lists