diff options
| -rw-r--r-- | arch/arm/mach-lpc32xx/irq.c | 11 |
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 | ||
