aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRoland Stigge <stigge@antcom.de>2012-02-27 11:28:02 -0500
committerRoland Stigge <stigge@antcom.de>2012-02-27 11:28:02 -0500
commit94ed7830cba4dce57b18a2926b5d826bfd184bd6 (patch)
tree19d87713e400e53237b70d03e138ad207b9b1d2b /arch
parent35dd0a75d4a382e7f769dd0277732e7aa5235718 (diff)
ARM: LPC32xx: irq.c: Clear latched event
This patch fixes the wakeup disable function by clearing latched events. Signed-off-by: Roland Stigge <stigge@antcom.de> Cc: stable@vger.kernel.org
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-lpc32xx/irq.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/mach-lpc32xx/irq.c b/arch/arm/mach-lpc32xx/irq.c
index d3bf9c11fd66..c74de01ab5b6 100644
--- a/arch/arm/mach-lpc32xx/irq.c
+++ b/arch/arm/mach-lpc32xx/irq.c
@@ -309,9 +309,18 @@ static int lpc32xx_irq_wake(struct irq_data *d, unsigned int state)
309 309
310 if (state) 310 if (state)
311 eventreg |= lpc32xx_events[d->irq].mask; 311 eventreg |= lpc32xx_events[d->irq].mask;
312 else 312 else {
313 eventreg &= ~lpc32xx_events[d->irq].mask; 313 eventreg &= ~lpc32xx_events[d->irq].mask;
314 314
315 /*
316 * When disabling the wakeup, clear the latched
317 * event
318 */
319 __raw_writel(lpc32xx_events[d->irq].mask,
320 lpc32xx_events[d->irq].
321 event_group->rawstat_reg);
322 }
323
315 __raw_writel(eventreg, 324 __raw_writel(eventreg,
316 lpc32xx_events[d->irq].event_group->enab_reg); 325 lpc32xx_events[d->irq].event_group->enab_reg);
317 326