diff options
-rw-r--r-- | arch/arm/mach-ns9xxx/board-a9m9750dev.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/mach-ns9xxx/board-a9m9750dev.c b/arch/arm/mach-ns9xxx/board-a9m9750dev.c index 925048e7adfe..88d1f7ef78c9 100644 --- a/arch/arm/mach-ns9xxx/board-a9m9750dev.c +++ b/arch/arm/mach-ns9xxx/board-a9m9750dev.c | |||
@@ -70,15 +70,20 @@ static void a9m9750dev_fpga_demux_handler(unsigned int irq, | |||
70 | { | 70 | { |
71 | int stat = FPGA_ISR; | 71 | int stat = FPGA_ISR; |
72 | 72 | ||
73 | desc->chip->mask_ack(irq); | ||
74 | |||
73 | while (stat != 0) { | 75 | while (stat != 0) { |
74 | int irqno = fls(stat) - 1; | 76 | int irqno = fls(stat) - 1; |
77 | struct irq_desc *fpgadesc; | ||
75 | 78 | ||
76 | stat &= ~(1 << irqno); | 79 | stat &= ~(1 << irqno); |
77 | 80 | ||
78 | desc = irq_desc + FPGA_IRQ(irqno); | 81 | fpgadesc = irq_desc + FPGA_IRQ(irqno); |
79 | 82 | ||
80 | desc_handle_irq(FPGA_IRQ(irqno), desc); | 83 | desc_handle_irq(FPGA_IRQ(irqno), fpgadesc); |
81 | } | 84 | } |
85 | |||
86 | desc->chip->unmask(irq); | ||
82 | } | 87 | } |
83 | 88 | ||
84 | void __init board_a9m9750dev_init_irq(void) | 89 | void __init board_a9m9750dev_init_irq(void) |