[ARM] 5411/1: S3C64XX: Fix EINT unmask
authorMark Brown <broonie@sirena.org.uk>
Tue, 24 Feb 2009 14:55:48 +0000 (15:55 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 24 Feb 2009 19:12:31 +0000 (19:12 +0000)
Currently the unmask function for EINT interrupts was setting the mask
bit rather than clearing it.  This was also previously reported and
fixed by Kyungmin Park <kyungmin.park@samsung.com> and others.

Acked-By: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/plat-s3c64xx/irq-eint.c

index 1f7cc00..ebb305c 100644 (file)
@@ -55,7 +55,7 @@ static void s3c_irq_eint_unmask(unsigned int irq)
        u32 mask;
 
        mask = __raw_readl(S3C64XX_EINT0MASK);
-       mask |= eint_irq_to_bit(irq);
+       mask &= ~eint_irq_to_bit(irq);
        __raw_writel(mask, S3C64XX_EINT0MASK);
 }