summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@sirena.org.uk>2009-02-24 15:55:48 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-02-24 19:12:31 +0000
commitc8532db7f2661b63f658b9a08cf4053a3e6abb78 (patch)
tree70aa1f40c8319ed3db954480fabe74e52311fbbb
parentd82ad6d6833ee8248e6c34e1b9fc3c4e61e3f035 (diff)
downloadlinux-c8532db7f2661b63f658b9a08cf4053a3e6abb78.tar.gz
linux-c8532db7f2661b63f658b9a08cf4053a3e6abb78.tar.bz2
linux-c8532db7f2661b63f658b9a08cf4053a3e6abb78.zip
[ARM] 5411/1: S3C64XX: Fix EINT unmask
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>
-rw-r--r--arch/arm/plat-s3c64xx/irq-eint.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/plat-s3c64xx/irq-eint.c b/arch/arm/plat-s3c64xx/irq-eint.c
index 1f7cc0067f5c..ebb305ce7689 100644
--- a/arch/arm/plat-s3c64xx/irq-eint.c
+++ b/arch/arm/plat-s3c64xx/irq-eint.c
@@ -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);
}