Messages in this thread Patch in this message | | | Subject | [PATCH v3] irqchip/tango: Don't use incorrect irq_mask_ack callback | From | Marc Gonzalez <> | Date | Tue, 25 Jul 2017 15:08:49 +0200 |
| |
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@gmail.com> Fixes: 4bba66899ac6 ("irqchip/tango: Add support for Sigma Designs SMP86xx/SMP87xx interrupt controller") Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com> Cc: stable@vger.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
| |