aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq/manage.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-08 10:38:00 -0500
committerThomas Gleixner <tglx@linutronix.de>2011-02-08 10:38:21 -0500
commitc9a443cdf7726ce8b78c3177c6ae601ce37292fc (patch)
tree4191db70a690b8eb7c86d8c3c10f827e4f2ab32a /kernel/irq/manage.c
parent285c1a2c3a5f84ce1c811ab4cb1f8a17466e1a06 (diff)
parentdc5f219e88294b93009eef946251251ffffb6d60 (diff)
Merge branch 'irq/for-xen' into irq/core
irq/for-xen contains new functionality to avoid Xen private irq hackery. That branch has a single irq commit and is pulled by Xen to base their new features on. Merge it into irq/core as other patches modify the same code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/irq/manage.c')
-rw-r--r--kernel/irq/manage.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 538fce2db51c..a06b9b6d6b57 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -359,8 +359,17 @@ EXPORT_SYMBOL(disable_irq);
359 359
360void __enable_irq(struct irq_desc *desc, unsigned int irq, bool resume) 360void __enable_irq(struct irq_desc *desc, unsigned int irq, bool resume)
361{ 361{
362 if (resume) 362 if (resume) {
363 if (!(desc->status & IRQ_SUSPENDED)) {
364 if (!desc->action)
365 return;
366 if (!(desc->action->flags & IRQF_FORCE_RESUME))
367 return;
368 /* Pretend that it got disabled ! */
369 desc->depth++;
370 }
363 desc->status &= ~IRQ_SUSPENDED; 371 desc->status &= ~IRQ_SUSPENDED;
372 }
364 373
365 switch (desc->depth) { 374 switch (desc->depth) {
366 case 0: 375 case 0: