[ARM] 3530/1: PXA Mainstone: prevent double enable_irq() in pcmcia
authorThomas Gleixner <tglx@linutronix.de>
Wed, 17 May 2006 19:14:29 +0000 (20:14 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 17 May 2006 19:14:29 +0000 (20:14 +0100)
Patch from Thomas Gleixner

The mainstone board pcmcia interrupt have been enabled via setup_irq()
and the following socket check calls enable_irq again. Set the NOAUTOEN flag so the interrupt is not automatically enabled in setup_irq()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-pxa/mainstone.c

index 98356f810007fad31d4fdc2cc39bea2e9b1b5c68..02e188d98e7d6d8565c4d06a2ddf9988776126e1 100644 (file)
@@ -95,7 +95,10 @@ static void __init mainstone_init_irq(void)
        for(irq = MAINSTONE_IRQ(0); irq <= MAINSTONE_IRQ(15); irq++) {
                set_irq_chip(irq, &mainstone_irq_chip);
                set_irq_handler(irq, do_level_IRQ);
-               set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
+               if (irq == MAINSTONE_IRQ(10) || irq == MAINSTONE_IRQ(14))
+                       set_irq_flags(irq, IRQF_VALID | IRQF_PROBE | IRQF_NOAUTOEN);
+               else
+                       set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
        }
        set_irq_flags(MAINSTONE_IRQ(8), 0);
        set_irq_flags(MAINSTONE_IRQ(12), 0);