From 8bec2ee71df777f81c9f071a14d48b12353c4585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Sun, 30 Sep 2007 20:34:41 +0100 Subject: [PATCH] --- yaml --- r: 69483 b: refs/heads/master c: ba7d850a02c7c3357ec488776405470534e7ccf8 h: refs/heads/master i: 69481: d59c1004bf20297a9cc9624786f30056c25da57c 69479: f8401edd94ecf499885af9d76f369d50c0c1c635 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-ns9xxx/board-a9m9750dev.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index c6b2c2ccdc86..1559b8b5cc7a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ff9e76aaba13f6f6bae31c9ac2aa2a50f5cdd801 +refs/heads/master: ba7d850a02c7c3357ec488776405470534e7ccf8 diff --git a/trunk/arch/arm/mach-ns9xxx/board-a9m9750dev.c b/trunk/arch/arm/mach-ns9xxx/board-a9m9750dev.c index 925048e7adfe..88d1f7ef78c9 100644 --- a/trunk/arch/arm/mach-ns9xxx/board-a9m9750dev.c +++ b/trunk/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)