From 9042dd98d3c4dde56b72159883ed17bc61986fda Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Tue, 19 Sep 2006 11:14:34 +0200 Subject: [PATCH] --- yaml --- r: 33980 b: refs/heads/master c: 86998aa6534e839ec003ed2ef7067d6fe8696ccc h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/irq/chip.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 68ef213cc33b..54f53cab4bc9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 47a5c6fa0e204a2b63309c648bb2fde36836c826 +refs/heads/master: 86998aa6534e839ec003ed2ef7067d6fe8696ccc diff --git a/trunk/kernel/irq/chip.c b/trunk/kernel/irq/chip.c index 9336f2e89e40..ac1f850d4937 100644 --- a/trunk/kernel/irq/chip.c +++ b/trunk/kernel/irq/chip.c @@ -252,7 +252,7 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) mask_ack_irq(desc, irq); if (unlikely(desc->status & IRQ_INPROGRESS)) - goto out; + goto out_unlock; desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); kstat_cpu(cpu).irqs[irq]++; @@ -263,7 +263,7 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) action = desc->action; if (unlikely(!action || (desc->status & IRQ_DISABLED))) { desc->status |= IRQ_PENDING; - goto out; + goto out_unlock; } desc->status |= IRQ_INPROGRESS; @@ -276,9 +276,9 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) spin_lock(&desc->lock); desc->status &= ~IRQ_INPROGRESS; -out: if (!(desc->status & IRQ_DISABLED) && desc->chip->unmask) desc->chip->unmask(irq); +out_unlock: spin_unlock(&desc->lock); }