浏览代码

[ARM] 4589/1: ns9xxx: acknowledge IRQ_EXT2 in the demux routine for FPGA irqs

The FPGA on the a9m9750dev board interrupts the CPU via EXT2. So
to acknowledge any FPGA interrupt IRQ_EXT2 must be acknowledged.

Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Uwe Kleine-König 17 年之前
父节点
当前提交
ba7d850a02
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      arch/arm/mach-ns9xxx/board-a9m9750dev.c

+ 7 - 2
arch/arm/mach-ns9xxx/board-a9m9750dev.c

@@ -70,15 +70,20 @@ static void a9m9750dev_fpga_demux_handler(unsigned int irq,
 {
 	int stat = FPGA_ISR;
 
+	desc->chip->mask_ack(irq);
+
 	while (stat != 0) {
 		int irqno = fls(stat) - 1;
+		struct irq_desc *fpgadesc;
 
 		stat &= ~(1 << irqno);
 
-		desc = irq_desc + FPGA_IRQ(irqno);
+		fpgadesc = irq_desc + FPGA_IRQ(irqno);
 
-		desc_handle_irq(FPGA_IRQ(irqno), desc);
+		desc_handle_irq(FPGA_IRQ(irqno), fpgadesc);
 	}
+
+	desc->chip->unmask(irq);
 }
 
 void __init board_a9m9750dev_init_irq(void)