diff options
author | Roland Stigge <stigge@antcom.de> | 2012-02-27 17:28:02 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-03-12 10:32:39 -0700 |
commit | 19399c348f59bb2aa2321efe6e29ece9797717f7 (patch) | |
tree | dc0222da63954c308a60f9b264e48e7aa0009c69 /arch | |
parent | 280e54b164802662ff59ba9cc24b66595f9a6bb9 (diff) | |
download | kernel_samsung_aries-19399c348f59bb2aa2321efe6e29ece9797717f7.zip kernel_samsung_aries-19399c348f59bb2aa2321efe6e29ece9797717f7.tar.gz kernel_samsung_aries-19399c348f59bb2aa2321efe6e29ece9797717f7.tar.bz2 |
ARM: LPC32xx: irq.c: Clear latched event
commit 94ed7830cba4dce57b18a2926b5d826bfd184bd6 upstream.
This patch fixes the wakeup disable function by clearing latched events.
Signed-off-by: Roland Stigge <stigge@antcom.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
-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 4eae566..965b1d6 100644 --- a/arch/arm/mach-lpc32xx/irq.c +++ b/arch/arm/mach-lpc32xx/irq.c @@ -305,9 +305,18 @@ static int lpc32xx_irq_wake(struct irq_data *d, unsigned int state) if (state) eventreg |= lpc32xx_events[d->irq].mask; - else + else { eventreg &= ~lpc32xx_events[d->irq].mask; + /* + * When disabling the wakeup, clear the latched + * event + */ + __raw_writel(lpc32xx_events[d->irq].mask, + lpc32xx_events[d->irq]. + event_group->rawstat_reg); + } + __raw_writel(eventreg, lpc32xx_events[d->irq].event_group->enab_reg); |