summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-07-24 08:34:59 +0200
committerThomas Gleixner <tglx@linutronix.de>2009-07-24 12:19:46 +0200
commitc6bfec3258af74b213e2a0064cd6f6ffde5eebd5 (patch)
treedf95217ea9113ee55ab9c1dc3490d6aceacbc76a
parent4be3bd7849165e7efa6b0b35a23d6a3598d97465 (diff)
downloadlwn-c6bfec3258af74b213e2a0064cd6f6ffde5eebd5.tar.gz
lwn-c6bfec3258af74b213e2a0064cd6f6ffde5eebd5.zip
x86: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure
Timer interrupts are excluded from being disabled during suspend. The clock events code manages the disabling of clock events on its own because the timer interrupt needs to be functional before the resume code reenables the device interrupts. The mfgpt timer request its interrupt without setting the IRQF_TIMER flag so suspend_device_irqs() disables it as well which results in a fatal resume failure. Adding IRQF_TIMER to the interupt flags when requesting the mrgpt timer interrupt solves the problem. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/kernel/mfgpt_32.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/mfgpt_32.c b/arch/x86/kernel/mfgpt_32.c
index 846510b78a09..2a62d843f015 100644
--- a/arch/x86/kernel/mfgpt_32.c
+++ b/arch/x86/kernel/mfgpt_32.c
@@ -347,7 +347,7 @@ static irqreturn_t mfgpt_tick(int irq, void *dev_id)
static struct irqaction mfgptirq = {
.handler = mfgpt_tick,
- .flags = IRQF_DISABLED | IRQF_NOBALANCING,
+ .flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TIMER,
.name = "mfgpt-timer"
};