From: Eric Miao Date: Wed, 3 Feb 2010 07:39:35 +0000 (-0800) Subject: [ARM] mmp2: fix incorrect calling of chip->mask_ack() for 2nd level cascaded IRQs X-Git-Tag: v2.6.34-rc2~66^2~14 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=commitdiff_plain;h=2029e5643a3c4fdd4ad20169fb950cc16e023d0c [ARM] mmp2: fix incorrect calling of chip->mask_ack() for 2nd level cascaded IRQs The irq_chip is not yet registered, so no default irq_chip.mask_ack(), which we have to handle it correctly manually here. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao --- diff --git a/arch/arm/mach-mmp/irq-mmp2.c b/arch/arm/mach-mmp/irq-mmp2.c index b187c027822d..cb18221c0af3 100644 --- a/arch/arm/mach-mmp/irq-mmp2.c +++ b/arch/arm/mach-mmp/irq-mmp2.c @@ -102,7 +102,11 @@ static void init_mux_irq(struct irq_chip *chip, int start, int num) int irq; for (irq = start; num > 0; irq++, num--) { - chip->mask_ack(irq); + /* mask and clear the IRQ */ + chip->mask(irq); + if (chip->ack) + chip->ack(irq); + set_irq_chip(irq, chip); set_irq_flags(irq, IRQF_VALID); set_irq_handler(irq, handle_level_irq);