diff options
author | michael <trimarchi@gandalf.sssup.it> | 2008-11-21 11:56:56 +0000 |
---|---|---|
committer | Andy Green <agreen@pads.home.warmcat.com> | 2008-11-21 11:56:56 +0000 |
commit | befe49bc945a34c9b06c9ec3dc7626d16ea248ce (patch) | |
tree | 98774577b84ea9c45a5ff565d411705f8f564762 /arch | |
parent | c91b66f4766d272f56b26274b4033dd13405ebc4 (diff) |
fix-srcpnd-int-clear-order.patch
The S3C2410_SRCPND is not clear correctly until the S3C2410_SUBSRCPND
is cleared.
Signed-off-by: michael <trimarchi@gandalf.sssup.it>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/plat-s3c24xx/irq.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c index f0ed85c6b88..f31770cf71a 100644 --- a/arch/arm/plat-s3c24xx/irq.c +++ b/arch/arm/plat-s3c24xx/irq.c @@ -701,26 +701,26 @@ void __init s3c24xx_init_irq(void) last = 0; for (i = 0; i < 4; i++) { - pend = __raw_readl(S3C2410_INTPND); + pend = __raw_readl(S3C2410_SUBSRCPND); if (pend == 0 || pend == last) break; - __raw_writel(pend, S3C2410_SRCPND); - __raw_writel(pend, S3C2410_INTPND); - printk("irq: clearing pending status %08x\n", (int)pend); + printk("irq: clearing subpending status %08x\n", (int)pend); + __raw_writel(pend, S3C2410_SUBSRCPND); last = pend; } last = 0; for (i = 0; i < 4; i++) { - pend = __raw_readl(S3C2410_SUBSRCPND); + pend = __raw_readl(S3C2410_INTPND); if (pend == 0 || pend == last) break; - printk("irq: clearing subpending status %08x\n", (int)pend); - __raw_writel(pend, S3C2410_SUBSRCPND); + __raw_writel(pend, S3C2410_SRCPND); + __raw_writel(pend, S3C2410_INTPND); + printk("irq: clearing pending status %08x\n", (int)pend); last = pend; } |